Merge branch 'develop' into feature/年底补锅台词冲刺
This commit is contained in:
@@ -9,11 +9,13 @@ namespace AibisDream.SystemEditor
|
||||
{
|
||||
private int _selectedIndex;
|
||||
private string _inputText = "";
|
||||
private string[] _options;
|
||||
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
// 获取目标对象
|
||||
SystemHasData example = (SystemHasData)target;
|
||||
_options = example.GetDataKeyOptions();
|
||||
|
||||
// 绘制默认的 Inspector
|
||||
DrawDefaultInspector();
|
||||
@@ -21,14 +23,14 @@ namespace AibisDream.SystemEditor
|
||||
GUILayout.Label("数据加载与保存");
|
||||
// 绘制下拉选择和输入框
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
int newIndex = EditorGUILayout.Popup(_selectedIndex, example.GetDataKeyOptions());
|
||||
int newIndex = EditorGUILayout.Popup(_selectedIndex, _options);
|
||||
_inputText = EditorGUILayout.TextField(_inputText);
|
||||
EditorGUILayout.EndHorizontal();
|
||||
|
||||
if (newIndex != _selectedIndex)
|
||||
{
|
||||
_selectedIndex = newIndex;
|
||||
_inputText = example.GetDataKeyOptions()[newIndex];
|
||||
_inputText = _options[newIndex];
|
||||
}
|
||||
|
||||
// 保存按钮
|
||||
|
||||
+55
-13
File diff suppressed because one or more lines are too long
+15
-15
@@ -35,7 +35,7 @@ ScriptedImporter:
|
||||
spriteMeshType: 0
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 200
|
||||
spritePixelsToUnits: 215
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 0
|
||||
generateCubemap: 6
|
||||
@@ -248,10 +248,10 @@ ScriptedImporter:
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 2212
|
||||
y: 5498
|
||||
width: 697
|
||||
height: 356
|
||||
x: 2220
|
||||
y: 5499
|
||||
width: 682
|
||||
height: 348
|
||||
spriteID: 5dd8c8637cee4004791d409a9dd08c43
|
||||
spriteBone: []
|
||||
spriteOutline: []
|
||||
@@ -291,8 +291,8 @@ ScriptedImporter:
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 3941
|
||||
y: 6530
|
||||
width: 44
|
||||
y: 6529
|
||||
width: 43
|
||||
height: 21
|
||||
spriteID: 9f9deb0f2cb514d4d828fd62fa70dde3
|
||||
spriteBone: []
|
||||
@@ -417,7 +417,7 @@ ScriptedImporter:
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 3789
|
||||
y: 5498
|
||||
y: 5499
|
||||
width: 154
|
||||
height: 154
|
||||
spriteID: c562151c266172245900603e7959a8da
|
||||
@@ -523,8 +523,8 @@ ScriptedImporter:
|
||||
serializedVersion: 2
|
||||
x: 4
|
||||
y: 7105
|
||||
width: 1412
|
||||
height: 790
|
||||
width: 1416
|
||||
height: 794
|
||||
spriteID: 905674a2af97be442a16bdb7e34e5230
|
||||
spriteBone: []
|
||||
spriteOutline: []
|
||||
@@ -995,7 +995,7 @@ ScriptedImporter:
|
||||
- name: DefaultTexturePlatform
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
maxTextureSize: 4096
|
||||
maxTextureSize: 8192
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 2
|
||||
@@ -1055,7 +1055,7 @@ ScriptedImporter:
|
||||
mosaicLayers: 1
|
||||
characterMode: 1
|
||||
documentPivot: {x: 0, y: 0}
|
||||
documentAlignment: 7
|
||||
documentAlignment: 0
|
||||
importHiddenLayers: 0
|
||||
layerMappingOption: 2
|
||||
generatePhysicsShape: 0
|
||||
@@ -1067,7 +1067,7 @@ ScriptedImporter:
|
||||
spriteCategoryList:
|
||||
categories: []
|
||||
spritePackingTag:
|
||||
resliceFromLayer: 0
|
||||
resliceFromLayer: 1
|
||||
mosaicPSDLayers: []
|
||||
rigPSDLayers:
|
||||
- name: "\u6CE2\u5F62\u5C4F\u5E55"
|
||||
@@ -1533,9 +1533,9 @@ ScriptedImporter:
|
||||
sharedRigPSDLayers: []
|
||||
pSDLayerImportSetting: []
|
||||
importFileNodeState: 1
|
||||
platformSettingsDirtyTick: 638684918888245490
|
||||
platformSettingsDirtyTick: 638709385618986079
|
||||
spriteSizeExpandChanged: 0
|
||||
generateGOHierarchy: 0
|
||||
generateGOHierarchy: 1
|
||||
textureAssetName:
|
||||
prefabAssetName:
|
||||
spriteLibAssetName:
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -1260,7 +1260,7 @@ SpriteRenderer:
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 8
|
||||
m_SortingOrder: 17
|
||||
m_Sprite: {fileID: 21300000, guid: 6f1e19b22a956634b86a43a0ee4ae6f6, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
|
||||
@@ -72,8 +72,8 @@ SpriteRenderer:
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 5
|
||||
m_Sprite: {fileID: 9131045294461249809, guid: 6de0a74e5b5268b4998dc7a5c687fb95, type: 3}
|
||||
m_SortingOrder: 6
|
||||
m_Sprite: {fileID: 1270100964141770735, guid: 149a798e8f987264f82beb4f4052eb5e, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
m_FlipY: 0
|
||||
|
||||
@@ -28,7 +28,7 @@ Transform:
|
||||
m_GameObject: {fileID: 5285827322175967477}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -1.733, y: -0.66, z: 0}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -74,7 +74,7 @@ SpriteRenderer:
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 5
|
||||
m_SortingOrder: 6
|
||||
m_Sprite: {fileID: 21300000, guid: eccbf2467d281894bafba3ef467f0875, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
@@ -135,4 +135,5 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
radius: 0
|
||||
gearSprite: {fileID: 0}
|
||||
isBroken: 0
|
||||
targetShaft: {fileID: 0}
|
||||
|
||||
@@ -1,125 +1,5 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &4413377968706854998
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6188141449000061737}
|
||||
- component: {fileID: 5891805930162401337}
|
||||
- component: {fileID: 7662770017579338042}
|
||||
m_Layer: 0
|
||||
m_Name: Static Gear
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
--- !u!4 &6188141449000061737
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4413377968706854998}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8196328002646668744}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!212 &5891805930162401337
|
||||
SpriteRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4413377968706854998}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 0
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 0
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 5
|
||||
m_Sprite: {fileID: -2413806693520163455, guid: a86470a33a6bf42c4b3595704624658b, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
m_FlipY: 0
|
||||
m_DrawMode: 1
|
||||
m_Size: {x: 1, y: 1}
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!58 &7662770017579338042
|
||||
CircleCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4413377968706854998}
|
||||
m_Enabled: 1
|
||||
m_Density: 1
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_ForceSendLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_ForceReceiveLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_ContactCaptureLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_CallbackLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_IsTrigger: 0
|
||||
m_UsedByEffector: 0
|
||||
m_UsedByComposite: 0
|
||||
m_Offset: {x: 0, y: 0}
|
||||
serializedVersion: 2
|
||||
m_Radius: 0.5
|
||||
--- !u!1 &6363828760380717502
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -150,8 +30,7 @@ Transform:
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 6188141449000061737}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!212 &3043662884828134004
|
||||
@@ -194,7 +73,7 @@ SpriteRenderer:
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 4
|
||||
m_SortingOrder: 5
|
||||
m_Sprite: {fileID: -5530534795728576300, guid: 6de0a74e5b5268b4998dc7a5c687fb95, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
@@ -220,10 +99,13 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
id: 0
|
||||
shaftType: 0
|
||||
hasGear: 0
|
||||
isInitGearBroken: 0
|
||||
isInitGearDisc: 0
|
||||
initRadius: 0
|
||||
initSprite: {fileID: 0}
|
||||
hasGear: 0
|
||||
childGear: {fileID: 0}
|
||||
initialSpeed: 0
|
||||
targetSpeed: 0
|
||||
speed: 0
|
||||
speedMultiplier: 1
|
||||
|
||||
@@ -13,6 +13,6 @@ MonoBehaviour:
|
||||
m_Name: StoneDay2
|
||||
m_EditorClassIdentifier:
|
||||
nextScene: {fileID: 0}
|
||||
yarnProject: {fileID: 7545569452688597077, guid: 23b032aeb7a33db4a94b50b89fc530a7, type: 3}
|
||||
yarnProject: {fileID: 7545569452688597077, guid: c7bda76049631864984b10bc8201c815, type: 3}
|
||||
firstSceneName: ExpressFixScene
|
||||
isEndOfDay: 0
|
||||
|
||||
@@ -83,19 +83,19 @@ title: 泵机运行
|
||||
title: 引擎过速
|
||||
description: 引擎过速触发
|
||||
---
|
||||
当前档位为{$curAirLevel}
|
||||
过速
|
||||
===
|
||||
|
||||
title: 引擎掉速
|
||||
description: 引擎掉速触发
|
||||
---
|
||||
当前档位为{$curAirLevel}
|
||||
掉速
|
||||
===
|
||||
|
||||
title: 调整进气档位
|
||||
description: 调整进气档位时触发
|
||||
---
|
||||
当前档位为{$curAirLevel}
|
||||
调整进气档位
|
||||
===
|
||||
|
||||
// title: EngineSuccess
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -5,6 +5,9 @@ position: -359,-46
|
||||
<<jump 检查_肺>>
|
||||
===
|
||||
|
||||
|
||||
|
||||
|
||||
title: HeartPlugIn
|
||||
descrption: 插入心时触发
|
||||
position: -79,-46
|
||||
@@ -12,6 +15,9 @@ position: -79,-46
|
||||
<<jump 检查_心>>
|
||||
===
|
||||
|
||||
|
||||
|
||||
|
||||
title: LiverPlugIn
|
||||
descrption: 插入肝时触发
|
||||
position: 204,-46
|
||||
@@ -19,9 +25,115 @@ position: 204,-46
|
||||
<<jump 检查_肝>>
|
||||
===
|
||||
|
||||
|
||||
|
||||
|
||||
title: StomachPlugIn
|
||||
descrption: 插入胃时触发
|
||||
position: 470,-51
|
||||
---
|
||||
<<jump 检查_胃>>
|
||||
===
|
||||
|
||||
|
||||
|
||||
|
||||
title: 破损齿轮插入
|
||||
descrption: 每个破损齿轮每次插入都会触发,具体怎么处理先交给yarn
|
||||
---
|
||||
<<if $gameStage == 2>>
|
||||
<<jump 发现坏齿轮>>
|
||||
<<endif>>
|
||||
===
|
||||
|
||||
|
||||
|
||||
|
||||
title: 齿轮系统状态变化
|
||||
---
|
||||
|
||||
<<if $speedReached>>
|
||||
<<wait 1>>
|
||||
me: 好啦!这下修好了。
|
||||
shitou: 我感觉…动力…都…回来啦!!
|
||||
<<endif>>
|
||||
|
||||
<<if ($discIdx == 1 || $discIdx == 2 || $discIdx == 3) && $discExplained == false>>
|
||||
//$discIdx是唱片齿轮插入的轴的序号,1-3意味着插入的是目标的三个轴,0是其他轴
|
||||
me: 这就是我觉得长得很奇怪的那些齿轮…这是什么?
|
||||
me: 像很久以前的那种什么东西…放在一个盘子上,转起来会发出音乐的…
|
||||
me: …唱片?
|
||||
shitou: 啊~哈哈!医生,你竟然认得唱片!想必你也是音乐~爱好者!
|
||||
me: 我记得好久以前…我曾经是摇滚乐爱好者……在它被禁止以前。
|
||||
<<set $discExplained = true>>
|
||||
shitou: 嗨呀~不是以前说什么“摇滚乐已死”嘛!被禁止,反而才说明它活过来啦。
|
||||
shitou: 你可别告诉别人喔~这可是我的得意改装!我从小!就喜欢音乐!可惜我~五音不全。
|
||||
shitou: 工作后一攒够钱!我就买了一直心念念的~Walkman~JukeB0X,音乐~唱片机!
|
||||
shitou: 我找人把它改装进了动力模块里边~这样我就可以一边跑货~一边跟着我最喜欢的旋律唱了~
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
shitou: 不过今天它就一直没响起来过…不知道咋回事。
|
||||
<<if $speedReached>>
|
||||
me: 变速箱已经修好了,我想你可以试试。
|
||||
<<else>>
|
||||
me: 等修好这个变速箱就应该可以了。
|
||||
<<endif>>
|
||||
<<endif>>
|
||||
|
||||
<<if $speedReached>>
|
||||
<<if ($discIdx == 1 || $discIdx == 2 || $discIdx == 3)>>
|
||||
shitou: 音乐,来吧!
|
||||
<<hide_dialog>>
|
||||
<<move_needle>>
|
||||
<<wait 2>>
|
||||
shitou: 多么美好的时光啊……
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
me: 一提到音乐,他就恢复精神了啊。
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
me: 好了,完成了!我们结束吧。
|
||||
<<hide_dialog>>
|
||||
<<wait 0.5>>
|
||||
shitou: 医生,让我们再听一会吧!
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
me: 也好。
|
||||
shitou: 太好啦。医生!和朋友~分享音乐~是最快乐的事情啦!
|
||||
shitou: 这张唱片是我好多年前在地摊淘的呢。现在社会发展~太快啦!都找不到这种地摊啦。已经绝版咯!
|
||||
me: 这种唱片机我也很久没见过了。你不说,我还真认不出来。
|
||||
shitou: 我们这种人呀,没有什么爱好!听点音乐~唱唱歌~就是最开心的事情啦!
|
||||
->再听一会
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
me: 我还蛮羡慕你的。
|
||||
shitou: 对吧?大家都这么说~
|
||||
shitou: 嗨呀~其实现在大家都愁眉苦脸的,其实没啥好担心的嘛!
|
||||
shitou: 就算担心,我们又能做啥嘞?大家都说社会咋样咋样…但是它不是一直都不好嘛!
|
||||
shitou: 生活怎么可能没有困难呢?苦一苦,熬一熬,啥困难都会过去的嘛!
|
||||
me: …但有的事情……好像只是在越变越差。
|
||||
shitou: 医生,谁知道明天会怎样呢?谁又知道是明天还是后天,还是什么时候,坏事才发生呢?
|
||||
shitou: 要是有什么东西注定要发生,那就让它发生吧!
|
||||
shitou: 在这之前~只要能开心一天,那为什么不开心一天呢?
|
||||
shitou: 只要每天睁开眼睛,我还能看见太阳,还能听见音乐,就没什么可担心的~
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
me: 好了,大音乐家…不是,大哲学家。我们该结束了。
|
||||
me: 谢谢你的分享。
|
||||
shitou: 嘿嘿,我谢谢你才是嘞~医生!
|
||||
->退出
|
||||
me: 好了,听得差不多了?我们该结束了。
|
||||
shitou: 好嘞,医生!
|
||||
<<hide_dialog>>
|
||||
<<set $gameStage = 5>>
|
||||
<<jump 第二次维修结束>>
|
||||
<<endif>>
|
||||
<<endif>>
|
||||
|
||||
===
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -36,6 +36,13 @@ position: 241,-2149
|
||||
//是否完成了变速箱的调配
|
||||
<<declare $gearsDone=false>>
|
||||
|
||||
//是否解释过唱片是啥
|
||||
<<declare $discExplained = false>>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//【功能相关】
|
||||
//clueboard相关
|
||||
<<declare $StartNode="">>
|
||||
@@ -101,20 +108,33 @@ position: 250,-1874
|
||||
<<indoor 1>>
|
||||
<<fade_out 1>>
|
||||
|
||||
shitou: 呼…在远方,在山岗~♫……呼……总有纯净的土壤~♫
|
||||
me: 我们的音乐家回来了。
|
||||
// FIXUP 立绘指令修改
|
||||
<<character_init_new "石头">>
|
||||
<<character_fade_in_new character>>
|
||||
<<character_fade_in_new>>
|
||||
// 立绘指令修改
|
||||
|
||||
隔了一天,石头出现在了诊所门口。
|
||||
他看起来脸色并不太好,说两句话就要喘一口气。
|
||||
但当我问他哪里痛时,他却说并没有不舒服。
|
||||
他告诉我从诊所出去之后,一整天跑得都很快,像有使不完的力气。
|
||||
但晚上开始,他发现他的动力开始时不时地中断,怎么也跑不起来。
|
||||
他将就着跑完了当晚,但情况越来越糟,几乎跑两步就会断一下。最后他决定还是来诊所看一看。
|
||||
shitou: 呼……让我喘口气先……哎!哈哈!
|
||||
me: 你看起来累得不行,怎么还这么开心?
|
||||
shitou: 我刚跑完货呢…跑货是最开心的事情啦。
|
||||
me: 这么累也开心吗?
|
||||
shitou: 医生…在路上穿梭的感觉可…呼…可好了。要是天天坐在这里,反而不开心呢……
|
||||
shitou: 而且嘛~我们吃辛苦饭的,一分耕耘一分收获!呼……
|
||||
shitou: 呼…所以越是累,我当然就越是开心啦~累是最踏实的感觉啦。
|
||||
me: 好吧…那至少,你先歇口气吧。
|
||||
shitou: 不歇啦。呼…医生,你帮我修一个小问题,然后我就要回去跑货啦……
|
||||
me: 小问题?怎么了?
|
||||
shitou: 我今天跑的时候出现好几次了。
|
||||
shitou: 我跑着跑着,<b><size=100%><color=\#D9BC26>当我要换挡到最高速的时候,就忽然吃不上力了</color></b>。
|
||||
me: 吃不上力…是档换不上了么?
|
||||
shitou: 不懂嘞…反正一要跑到最高速度,就忽然…没法跑快了。
|
||||
me: 听起来是动力系统又出了些问题…
|
||||
me: 总之,我帮你再检查一下吧,看看是引擎还是变速箱出了啥问题。
|
||||
shitou: 好嘞,再次麻烦你啦,医生。
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
于是我们便开始了诊疗,找出让他动力中断的原因。
|
||||
|
||||
|
||||
<<hide_dialog>>
|
||||
|
||||
@@ -130,24 +150,31 @@ colorID: 3
|
||||
position: 240,-1440
|
||||
---
|
||||
<<fade_in 0.5>>
|
||||
|
||||
<<wait 1>>
|
||||
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
|
||||
me: 我记得他的动力系统是出过事故的…希望这次不是那么严重的问题。
|
||||
me: 你这套动力系统本来就已经不堪重负,出现问题……老实说,也不是很奇怪。
|
||||
shitou: 不好意思啦,医生。我以后会注意的。
|
||||
|
||||
//<<load_scene 佩佩视觉模块>>
|
||||
//<<NodeInit CanvasClueBoard 1>>
|
||||
//<<SetExternalError ViewManager MemoryView true>>
|
||||
|
||||
<<wait 0.5>>
|
||||
<<hide_dialog>>
|
||||
<<switch_fix_system_to "BodyModule" "stone1.json">>
|
||||
<<fade_out 1>>
|
||||
|
||||
<<MessageBoxSetNull>>
|
||||
<<MessageBoxSetText 等待信号输入……>>
|
||||
|
||||
me: 找到无法换到最高速档的原因…<br>顺便检查一下循环系统吧,看看透析的效果。
|
||||
|
||||
拖动屏幕右侧检修终端上的插头,至每个模块的绿色插口上,运行检查
|
||||
|
||||
<<set $gameStage=2>>
|
||||
|
||||
<<switch_fix_system_to "BodyModule" "stone1.json">>
|
||||
|
||||
<<jump 主维修界面 >>
|
||||
<<jump 主维修界面 >>
|
||||
|
||||
===
|
||||
|
||||
@@ -163,17 +190,23 @@ position: 206,-1006
|
||||
|
||||
//检查阶段
|
||||
<<if $gameStage == 2>>
|
||||
<<jump 检查(临时)>>
|
||||
<<if $gearProblemKnown==true>>
|
||||
me: 动力中断的原因应该已经清楚了。
|
||||
->结束检查
|
||||
<<set $gameStage = $gameStage + 1>>
|
||||
<<jump 主维修界面>>
|
||||
<<endif>>
|
||||
<<endif>>
|
||||
|
||||
//检查后对话阶段
|
||||
<<if $gameStage == 3>>
|
||||
<<hide_dialog>>
|
||||
<<jump 分析准备>>
|
||||
<<endif>>
|
||||
|
||||
//变速箱阶段
|
||||
<<if $gameStage == 4>>
|
||||
<<jump 检查(临时)>>
|
||||
<<jump 变速箱维修_复原(临时)>>
|
||||
<<endif>>
|
||||
|
||||
//变速箱后对话阶段
|
||||
@@ -229,17 +262,42 @@ position: -237,-1007
|
||||
title: 检查_肺
|
||||
tags:
|
||||
colorID: 8
|
||||
position: -595,-1288
|
||||
position: -629,-965
|
||||
---
|
||||
气体循环系统,为动力系统供气。
|
||||
->整体状态
|
||||
功能非常健壮,看起来经常运动。
|
||||
->检查滤板
|
||||
进气管道内很浑浊。他的动力系统过于强劲,这套基础的呼吸系统承受了过大的压力……
|
||||
->返回
|
||||
<<jump 检查(临时)>>
|
||||
|
||||
<<jump 检查_肺>>
|
||||
<<MessageBoxSetText 正在建立连接…>>
|
||||
<<wait 0.5>>
|
||||
<<MessageBoxSetNull>>
|
||||
<<MessageBoxSetText 换气模块>>
|
||||
<<wait 0.1>>
|
||||
<<MessageBoxSetText 进行内外部气体与热量交换,影响呼吸和散热相关的工作。>>
|
||||
->检查
|
||||
<<hide_dialog>>
|
||||
<<MessageBoxSetNull>>
|
||||
<<MessageBoxSetChecking>>
|
||||
<<if $lungProblemKnown == false>>
|
||||
<<wait 1>>
|
||||
<<endif>>
|
||||
<<wait 0.5>>
|
||||
<<MessageBoxSetNormal>>
|
||||
<<MessageBoxSetText 检查完成!没有发现错误>>
|
||||
<<wait 0.1>>
|
||||
<<MessageBoxSetText 检测到0个错误,0个警告,6个异常。38295个节点已扫描。>>
|
||||
<<if $lungProblemKnown == false>>
|
||||
->分析
|
||||
<<hide_dialog>>
|
||||
<<wait 0.5>>
|
||||
<<MessageBoxSetText " ">>
|
||||
<<MessageBoxSetText 报告传输完毕。>>
|
||||
<<wait 1.5>>
|
||||
me: 换气系统很疲惫…看起来经过了很高强度的工作。
|
||||
me: <b><size=100%><color=\#0099FF>催化滤板的积碳还是老样子…怪不得他要喘这么久呢。</color></b>
|
||||
shitou: 嗨呀…不打紧。
|
||||
<<set $lungProblemKnown=true>>
|
||||
<<else>>
|
||||
me: 催化滤板的积碳还是老样子…怪不得他要喘这么久呢。
|
||||
<<endif>>
|
||||
->结束
|
||||
<<jump 主维修界面>>
|
||||
===
|
||||
|
||||
|
||||
@@ -248,19 +306,51 @@ position: -595,-1288
|
||||
title: 检查_心
|
||||
tags:
|
||||
colorID: 8
|
||||
position: -609,-1099
|
||||
position: -643,-776
|
||||
---
|
||||
机体的能源模块。石头的能源系统是被改造过的…这是为了用于为肢体提供高速动力的型号,非常强劲。
|
||||
->检查进气压力
|
||||
目前压力已被设置为了中等,石头现在能跑出更高的速度上限了。
|
||||
->缺陷检查
|
||||
检查到动力系统内部有缺齿的机械声音,可能与变速箱故障有关。
|
||||
->深入检查 // 这里没动。需要修改的时候找老丁交流
|
||||
<<jump 变速箱维修(临时)>>
|
||||
->返回
|
||||
<<jump 检查(临时)>>
|
||||
|
||||
<<jump 检查_心>>
|
||||
<<MessageBoxSetText 正在建立连接…>>
|
||||
<<wait 0.5>>
|
||||
<<MessageBoxSetText 动力模块>>
|
||||
<<wait 0.1>>
|
||||
<<MessageBoxSetText 将机体的燃料转化为电能/机械能,驱动机体和内部模块运转。>>
|
||||
->检查
|
||||
<<hide_dialog>>
|
||||
<<MessageBoxSetNull>>
|
||||
<<MessageBoxSetChecking>>
|
||||
<<if $engineProblemKnown == false>>
|
||||
<<wait 1>>
|
||||
<<endif>>
|
||||
<<wait 0.5>>
|
||||
<<MessageBoxSetNormal>>
|
||||
<<MessageBoxSetText 检查完成!没有发现错误。>>
|
||||
<<wait 0.1>>
|
||||
<<MessageBoxSetText 检测到0个错误,1个警告,172个异常。122596个节点已扫描。>>
|
||||
<<if $engineProblemKnown == false>>
|
||||
->分析
|
||||
<<wait 0.5>>
|
||||
<<MessageBoxSetText "于 变速箱 检查到传动故障!">>
|
||||
<<wait 1>>
|
||||
<<MessageBoxSetText " ">>
|
||||
<<MessageBoxSetText 报告传输完毕。>>
|
||||
<<wait 1>>
|
||||
<<set $engineProblemKnown=true>>
|
||||
me: 果然,变速箱出现故障了。好像能听见一些杂音……
|
||||
me: 这听起来和你描述的问题可能有关系。
|
||||
->深入检查
|
||||
<<hide_dialog>>
|
||||
<<jump 变速箱维修(临时)>>
|
||||
<<else>>
|
||||
<<wait 0.5>>
|
||||
<<MessageBoxSetText "于 变速箱 检查到传动故障!">>
|
||||
me: 听起来比昨天更强劲了…但是也能听见某种杂音。
|
||||
->深入检查
|
||||
<<hide_dialog>>
|
||||
<<endif>>
|
||||
->深入检查<<if $engineProblemKnown==true>>
|
||||
<<hide_dialog>>
|
||||
->结束
|
||||
<<hide_dialog>>
|
||||
<<jump 主维修界面>>
|
||||
===
|
||||
|
||||
|
||||
@@ -269,17 +359,40 @@ position: -609,-1099
|
||||
title: 检查_胃
|
||||
tags:
|
||||
colorID: 8
|
||||
position: -594,-907
|
||||
position: -628,-584
|
||||
---
|
||||
机体的物质和燃料摄入、储藏模块。
|
||||
->检查最近摄入燃料
|
||||
机体体内的燃料纯度很低,能提供的动力较慢。
|
||||
->检查最近摄入物质
|
||||
机体最近摄入的食物成分非常简单而健康,全是基础款罐头。
|
||||
->返回
|
||||
<<jump 检查(临时)>>
|
||||
|
||||
<<jump 检查_胃>>
|
||||
<<MessageBoxSetText 正在建立连接…>>
|
||||
<<wait 0.5>>
|
||||
<<MessageBoxSetText 物质模块>>
|
||||
<<wait 0.1>>
|
||||
<<MessageBoxSetText 负责机体的物质和燃料摄入、处理和储存。>>
|
||||
->检查
|
||||
<<hide_dialog>>
|
||||
<<MessageBoxSetNull>>
|
||||
<<MessageBoxSetChecking>>
|
||||
<<if $fuelProblemKnown == false>>
|
||||
<<wait 1>>
|
||||
<<endif>>
|
||||
<<wait 0.5>>
|
||||
<<MessageBoxSetNormal>>
|
||||
<<MessageBoxSetText 检查完成!没有发现错误。 >>
|
||||
<<wait 0.1>>
|
||||
<<MessageBoxSetText 检测到0个错误,0个警告,9个异常。83423个节点已扫描。>>
|
||||
<<if $fuelProblemKnown == false>>
|
||||
->分析
|
||||
<<hide_dialog>>
|
||||
<<wait 0.5>>
|
||||
<<MessageBoxSetText " ">>
|
||||
<<MessageBoxSetText 报告传输完毕。>>
|
||||
<<wait 1.5>>
|
||||
me: ……你早上吃了什么?
|
||||
shitou: 早上…早上没吃呢。我急着跑货,就搞忘啦……
|
||||
<<set $fuelProblemKnown = true>>
|
||||
<<else>>
|
||||
me: 今天还没有摄入任何物质,里面很空。
|
||||
<<endif>>
|
||||
->结束
|
||||
<<jump 主维修界面>>
|
||||
===
|
||||
|
||||
|
||||
@@ -288,17 +401,42 @@ position: -594,-907
|
||||
title: 检查_肝
|
||||
tags:
|
||||
colorID: 8
|
||||
position: -578,-732
|
||||
position: -637,-431
|
||||
---
|
||||
冷却液循环的处理中枢,让模块保持良好的运行状态。
|
||||
->整体状态
|
||||
冷却液已经恢复了澄清,现在状态不错。
|
||||
->检查冷却液
|
||||
冷却液很新,推测不久前彻底换过,通常大修才会换到这种程度。
|
||||
->返回
|
||||
<<jump 检查(临时)>>
|
||||
|
||||
<<jump 检查_肝>>
|
||||
<<MessageBoxSetNull>>
|
||||
<<MessageBoxSetText 正在建立连接…>>
|
||||
<<wait 0.2>>
|
||||
<<MessageBoxSetText 循环模块>>
|
||||
<<wait 0.1>>
|
||||
<<MessageBoxSetText 负责机体的冷却液净化处理,保证各模块的运行状态。>>
|
||||
->检查
|
||||
<<hide_dialog>>
|
||||
<<MessageBoxSetNull>>
|
||||
<<MessageBoxSetChecking>>
|
||||
<<if $bloodProblemKnown == false>>
|
||||
<<wait 1>>
|
||||
<<endif>>
|
||||
<<wait 0.5>>
|
||||
<<MessageBoxSetWarning>>
|
||||
<<MessageBoxSetText 检查完成!发现1个警告。 >>
|
||||
<<wait 0.1>>
|
||||
<<MessageBoxSetText 检测到0个错误,0个警告,4个异常。4286个节点已扫描。>>
|
||||
<<if $bloodProblemKnown == false>>
|
||||
->分析
|
||||
<<hide_dialog>>
|
||||
<<wait 0.5>>
|
||||
<<MessageBoxSetText " ">>
|
||||
<<MessageBoxSetText 报告传输完毕。>>
|
||||
<<wait 1.5>>
|
||||
me: 冷却液的情况看起来好多了,已经恢复了流动性。
|
||||
me: 这至少可以支撑一会……至少到销售大赛结束。
|
||||
shitou: 医生,确实你给我做完这个什么…偷袭,感觉浑身…有劲儿多了嘞。
|
||||
<<set $bloodProblemKnown = true>>
|
||||
<<else>>
|
||||
me: 冷却液已经恢复了流动性,透析达到了效果。
|
||||
<<endif>>
|
||||
->结束
|
||||
<<jump 主维修界面>>
|
||||
===
|
||||
|
||||
|
||||
@@ -309,12 +447,15 @@ tags:
|
||||
colorID: 8
|
||||
position: -1194,-398
|
||||
---
|
||||
<<if $gearBoxOpened==false>>
|
||||
<<jump 变速箱拆开(临时)>>
|
||||
<<elseif $gameStage<4>>
|
||||
<<jump 变速箱维修_复原(临时)>>
|
||||
<<elseif $gameStage<6>>
|
||||
<<jump 变速箱维修_调配(临时)>>
|
||||
<<if $gameStage == 2>>
|
||||
<<if $gearBoxOpened==false>>
|
||||
<<jump 变速箱拆开(临时)>>
|
||||
<<endif>>
|
||||
<<elseif $gameStage == 3>>
|
||||
me: 嗯…至少换不上档的原因找到了。让我想想怎么处理。
|
||||
<<jump 主维修界面>>
|
||||
<<elseif $gameStage == 4>>
|
||||
|
||||
<<endif>>
|
||||
===
|
||||
|
||||
@@ -326,14 +467,39 @@ tags:
|
||||
colorID: 8
|
||||
position: -876,-409
|
||||
---
|
||||
<<switch_fix_system_to "Gear" "stone_day2_1.json">>
|
||||
->拆开变速箱螺丝
|
||||
<<hide_dialog>>
|
||||
<<open_gear_cover>>
|
||||
<<shake_camera 0.4 0.3 20>>
|
||||
<<fade_in 0.1>>
|
||||
嘭的一声,有什么东西崩了出来。
|
||||
<<set $gearBoxOpened=true>>
|
||||
拆开的一瞬间,里面的齿轮嘭的一声崩了出来。
|
||||
我们都被吓了一跳。我把散落的齿轮收集起来,好在看起来一个都没少。
|
||||
其中还有一些奇怪形状的齿轮…看起来像唱片一样。
|
||||
<<fade_out 0.5>>
|
||||
shitou: 哎呀!
|
||||
me: 有两个齿轮…掉出来了。
|
||||
<<open_gear_panel>>
|
||||
me: 就是这些了。这些齿轮…看起来怪怪的。
|
||||
shitou: 医生,我怎么…感觉完全使不上劲儿了?
|
||||
me: 别急,我这就给你把齿轮装回去。
|
||||
让齿轮系统恢复运作
|
||||
<<jump 变速箱维修(临时)>>
|
||||
->返回
|
||||
<<jump 主维修界面>>
|
||||
===
|
||||
|
||||
|
||||
|
||||
|
||||
title: 发现坏齿轮
|
||||
tags:
|
||||
colorID: 8
|
||||
position: -876,-409
|
||||
---
|
||||
<<wait 2>>
|
||||
me: 看来这就是你没法换挡的原因。这个齿轮已经磨损太严重,完全滑牙了。
|
||||
shitou: 嗨呀,看来我太使劲儿,把它搞坏啦。哈哈!
|
||||
me: 以这套锻钢齿轮的强度,和你现在的工作压力,磨损也是迟早的事……
|
||||
<<set $gameStage = 3>>
|
||||
<<jump 变速箱维修(临时)>>
|
||||
===
|
||||
|
||||
|
||||
@@ -344,21 +510,37 @@ tags:
|
||||
colorID: 8
|
||||
position: -867,-152
|
||||
---
|
||||
<<if $gearProblemKnown == false>>
|
||||
->复原齿轮
|
||||
当我重新把齿轮安装回去的时候,发现这些齿轮已经严重磨损了。
|
||||
装上后,我看到齿轮开始滑牙。这就是石头感到动力中断的原因。
|
||||
<<set $gearProblemKnown = true>>
|
||||
<<jump 主维修界面>>
|
||||
->返回
|
||||
<<jump 主维修界面>>
|
||||
<<else>>
|
||||
磨损的齿轮正在不断滑牙,这就是石头感到动力中断的原因。
|
||||
<<jump 主维修界面>>
|
||||
<<endif>>
|
||||
// <<if $gearProblemKnown == false>>
|
||||
// ->复原齿轮
|
||||
// 当我重新把齿轮安装回去的时候,发现这些齿轮已经严重磨损了。
|
||||
// 装上后,我看到齿轮开始滑牙。这就是石头感到动力中断的原因。
|
||||
// <<set $gearProblemKnown = true>>
|
||||
// <<jump 主维修界面>>
|
||||
// ->返回
|
||||
// <<jump 主维修界面>>
|
||||
// <<else>>
|
||||
// 磨损的齿轮正在不断滑牙,这就是石头感到动力中断的原因。
|
||||
// <<jump 主维修界面>>
|
||||
// <<endif>>
|
||||
<<trans_camera_pos 1 0 1>>
|
||||
<<fade_in 1>>
|
||||
<<switch_fix_system_to "BodyModule" "stone1.json">>
|
||||
<<fade_out 1>>
|
||||
|
||||
<<switch_fix_system_to "Gear">>
|
||||
<<open_gear_cover>>
|
||||
<<open_gear_panel>>
|
||||
|
||||
===
|
||||
|
||||
|
||||
title: 复原完成
|
||||
description: 把错误齿轮放回去就会触发
|
||||
---
|
||||
<<set $gameStage = 5>>
|
||||
-> 返回诊所
|
||||
<<switch_fix_system_to "Clinic">>
|
||||
<<jump 主维修界面>>
|
||||
===
|
||||
|
||||
|
||||
title: 分析准备
|
||||
@@ -366,18 +548,11 @@ tags:
|
||||
colorID: 8
|
||||
position: 626,-314
|
||||
---
|
||||
//现在关于切换场景的数据保存还没有完成,建议先不切场景
|
||||
<<fade_in 1>>
|
||||
<<load_scene ClinicScene>>
|
||||
<<move_out_fix>>
|
||||
<<fade_out 1>>
|
||||
//<<OpenClueBoard ClueBoard>>
|
||||
me: 正是变速箱这套齿轮的缺损导致了动力的中断。这些锻钢齿轮还是不够耐磨……
|
||||
me: 不过能磨损这么严重,要施加很大的机械压力…这应该会非常痛才对。
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
me: 这些齿轮都需要更换,而且最好换成更耐磨的镍铬齿轮。
|
||||
me: 不过话说回来,这些唱片一样的齿轮…到底是什么东西?
|
||||
<<fade_in 1>>
|
||||
<<switch_fix_system_to "Clinic">>
|
||||
<<fade_out 1>>
|
||||
|
||||
<<jump 检查后对话>>
|
||||
===
|
||||
|
||||
@@ -386,18 +561,31 @@ tags:
|
||||
colorID: 8
|
||||
position: 627,-80
|
||||
---
|
||||
我向石头展示了磨损严重的齿轮,并询问他是否感到疼痛,以及从何时开始。
|
||||
石头笑着告诉我没有什么疼痛。他的笑容如此真诚,让我很难怀疑。
|
||||
我提出的更换齿轮的方案依然被石头否定了。
|
||||
他认为齿轮磨损的原因应该是那次事故造成的,希望继续使用锻钢齿轮。
|
||||
“我们天天路上跑的,怎么可能不出事呢…下次小心一些就好啦!”他说。
|
||||
shitou: 怎么样,医生?这些齿轮能修好不?
|
||||
me: 这种损伤是不能修复的,只能更换,而且最好更换成镍铬齿轮。
|
||||
shitou: 医生,这个镍铬齿轮,贵吗?
|
||||
me: 会有点。不过,它们更耐磨,能承受更大的应力。
|
||||
shitou: 那还是别啦。医生,就给我换成普通的齿轮吧。
|
||||
me: ……
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
接着我询问了关于这些“唱片齿轮”的事情。
|
||||
石头的眼神变得得意起来。他告诉我这是他最中意的改装,只要跑起来,他就能听到音乐。
|
||||
他让我快把这些唱片装回去,他好和我分享他最爱的音乐。
|
||||
<<set $gameStage = 4>>
|
||||
me: 能磨损这么严重,要施加很大的机械压力…你应该很痛吧。
|
||||
shitou: 痛?嗨…没有哩。医生。
|
||||
shitou: 要是痛的话,我早就啊呜啊呜喊啦。你看我现在不是~活蹦乱跳的嘛。
|
||||
shitou: 我只是有点累~休息会就好啦。
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
me: 好吧,那我给你把磨损的齿轮换成普通的。
|
||||
<<wait 0.5>>
|
||||
me: 还有一个问题…你有的齿轮看起来…有点奇特。
|
||||
shitou: 噢?你找到了…*那些*…齿轮?
|
||||
me: 什么是…“那些”齿轮?
|
||||
shitou: 哈哈,医生~我们直接开始看吧!
|
||||
|
||||
<<hide_dialog>>
|
||||
<<trans_camera_pos 1 0 1>>
|
||||
<<fade_in 1>>
|
||||
<<set $gameStage = 6>>
|
||||
<<jump 主维修界面>>
|
||||
|
||||
===
|
||||
@@ -450,11 +638,9 @@ title: 变速箱后对话
|
||||
tags:
|
||||
position: 311,143
|
||||
---
|
||||
<<fade_out 1>>
|
||||
me: (这应该够他扛一段时间了,只要他不再出事故…)
|
||||
变速箱修好了,接下来应该在引擎中测试一下确认故障已经被修好。
|
||||
<<set $gameStage = 6>>
|
||||
<<fade_in 1>>
|
||||
<<jump 主维修界面>>
|
||||
===
|
||||
|
||||
@@ -465,27 +651,50 @@ title: 加压(临时)
|
||||
tags:
|
||||
position: 311,143
|
||||
---
|
||||
->踩油门
|
||||
随着速度升高,齿轮的声音也变得尖锐起来。
|
||||
但是没有再发生动力中断的问题。
|
||||
石头看起来非常开心。他再次唱起了歌,并夸赞我的医术。
|
||||
“把压力再提高一档吧!”他忽然说。
|
||||
<<hide_dialog>>
|
||||
<<wait 0.5>>
|
||||
“什么?…压力…我已经提高过一次了。”我说。
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
“是的!那就让他再高一档吧!”石头唱起了歌。在歌里,他无忧无虑,在城市街头快乐地穿梭。
|
||||
“我感觉非常好!多亏了你,我觉得我能再快一些!”
|
||||
->提高压力
|
||||
你把压力调高了一档。这次速度升得更高了。引擎的声音如此之大,他的身体显然承受着巨大的压力。
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
在引擎的轰鸣声中,你听到了石头的歌声。
|
||||
他的声音如此快活,仿佛他不是在送货,而是在像鸟儿一样自由翱翔。
|
||||
->结束
|
||||
<<set $gameStage = 7>>
|
||||
<<jump 主维修界面>>
|
||||
// ->踩油门
|
||||
// 随着速度升高,齿轮的声音也变得尖锐起来。
|
||||
// 但是没有再发生动力中断的问题。
|
||||
// 石头看起来非常开心。他再次唱起了歌,并夸赞我的医术。
|
||||
// “把压力再提高一档吧!”他忽然说。
|
||||
// <<hide_dialog>>
|
||||
// <<wait 0.5>>
|
||||
// “什么?…压力…我已经提高过一次了。”我说。
|
||||
// <<hide_dialog>>
|
||||
// <<wait 1>>
|
||||
// “是的!那就让他再高一档吧!”石头唱起了歌。在歌里,他无忧无虑,在城市街头快乐地穿梭。
|
||||
// “我感觉非常好!多亏了你,我觉得我能再快一些!”
|
||||
// ->提高压力
|
||||
// 你把压力调高了一档。这次速度升得更高了。引擎的声音如此之大,他的身体显然承受着巨大的压力。
|
||||
// <<hide_dialog>>
|
||||
// <<wait 1>>
|
||||
// 在引擎的轰鸣声中,你听到了石头的歌声。
|
||||
// 他的声音如此快活,仿佛他不是在送货,而是在像鸟儿一样自由翱翔。
|
||||
// ->结束
|
||||
// <<set $gameStage = 7>>
|
||||
// <<jump 主维修界面>>
|
||||
|
||||
<<switch_fix_system_to "BodyModule" "stone1.json">>
|
||||
<<fade_out 1>>
|
||||
|
||||
<<switch_fix_system_to "Gear" "stone_day2_3.json">>
|
||||
<<open_gear_cover>>
|
||||
me: 需要一个和它尺寸一致的齿轮…
|
||||
<<wait 0.5>>
|
||||
<<open_gear_panel>>
|
||||
|
||||
===
|
||||
|
||||
title: 第二次维修结束
|
||||
---
|
||||
|
||||
<<close_gear_panel>>
|
||||
<<close_gear_cover>>
|
||||
<<fade_in 1>>
|
||||
<<set $gameStage = 7>>
|
||||
<<switch_fix_system_to "Clinic">>
|
||||
|
||||
<<jump 结束对话>>
|
||||
|
||||
===
|
||||
|
||||
|
||||
@@ -496,9 +705,40 @@ tags:
|
||||
position: 311,143
|
||||
---
|
||||
<<fade_out 1>>
|
||||
石头脸上流下了汗珠,不知道是因为激动的歌声还是因为高速的引擎。
|
||||
他对你的诊疗非常满意,马上离开投入了工作之中。
|
||||
希望他不会再回来了。你想。
|
||||
me: 好了,现在应该完全修好了。试试看吧。
|
||||
me: 走!走两步。别把诊室里的东西碰倒了。
|
||||
shitou: 好嘞~!
|
||||
|
||||
<<character_fade_out_new character>>
|
||||
|
||||
<<shake_camera 0.4 0.3 20>>
|
||||
me: 慢点!
|
||||
|
||||
<<character_fade_in_new character>>
|
||||
|
||||
shitou: 嘿嘿~不好意思。医生!
|
||||
shitou: 太好啦!现在我有浑身都有劲儿啦!
|
||||
shitou: 医生~那…我…可以走啦?
|
||||
me: 去吧,注意安全。
|
||||
shitou: 好嘞,谢谢医生!
|
||||
|
||||
<<hide_dialog>>
|
||||
<<character_fade_out_new character>>
|
||||
|
||||
<<wait 1>>
|
||||
|
||||
<<character_fade_in_new character>>
|
||||
|
||||
shitou: 医生……
|
||||
shitou: 太阳落下去,还会再升起来的。对吧?
|
||||
shitou: 要是我们都失去希望,那就肯定不会再看到它升起来了。
|
||||
shitou: 所以,开心点吧!
|
||||
|
||||
<<hide_dialog>>
|
||||
<<character_fade_out_new character>>
|
||||
|
||||
me: 太阳还会再升起来的…吗?
|
||||
|
||||
<<fade_in 1>>
|
||||
<<NextYarn>>
|
||||
===
|
||||
@@ -134,7 +134,7 @@ position: 240,-1440
|
||||
<<wait 1>>
|
||||
|
||||
me: 这才几天,就来第三次了…
|
||||
me: 还好看起来伤的不是特别严重。希望这次没伤到你的动力模块……
|
||||
me: 还好看起来伤的不是特别严重。希望这次没伤到你的动力模块。
|
||||
|
||||
//<<load_scene 佩佩视觉模块>>
|
||||
//<<NodeInit CanvasClueBoard 1>>
|
||||
|
||||
+2685
-2039
File diff suppressed because it is too large
Load Diff
@@ -11,8 +11,6 @@ namespace AibisDream
|
||||
{
|
||||
public class DialogController : Singleton<DialogController>
|
||||
{
|
||||
private const string BookManager = "BookManager";
|
||||
|
||||
private DialogueRunner dialogueRunner;
|
||||
private VariableStorageBehaviour _variableStorage;
|
||||
|
||||
@@ -61,11 +59,6 @@ namespace AibisDream
|
||||
dialogueRunner = GetComponentInChildren<DialogueRunner>();
|
||||
_variableStorage = GetComponentInChildren<InMemoryVariableStorage>();
|
||||
|
||||
// 开关书交互
|
||||
BookManager bookManager = GameObject.Find(BookManager).gameObject.GetComponent<BookManager>();
|
||||
bookManager.OnBookClosed += () => { IsBlock = false; };
|
||||
bookManager.OnBookOpen += () => { IsBlock = true; };
|
||||
|
||||
dialogueRunner.onDialogueStart.AddListener(() =>
|
||||
{
|
||||
OnDialogueStart?.Invoke();
|
||||
|
||||
@@ -44,6 +44,10 @@ namespace AibisDream.FixSystem
|
||||
TransitionDic.Add(FixState.UF, FixState.BodyModule, new UFToBodyModuleCommand());
|
||||
TransitionDic.Add(FixState.Clinic, FixState.CoolingMachine, new ClinicToCoolingCommand());
|
||||
TransitionDic.Add(FixState.CoolingMachine, FixState.Clinic, new CoolingToClinicCommand());
|
||||
TransitionDic.Add(FixState.BodyModule, FixState.Gear, new BodyModuleToGearCommand());
|
||||
TransitionDic.Add(FixState.Gear, FixState.BodyModule, new GearToBodyModuleCommand());
|
||||
TransitionDic.Add(FixState.Clinic, FixState.Gear, new ClinicToGearCommand());
|
||||
TransitionDic.Add(FixState.Gear, FixState.Clinic, new GearToClinicCommand());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -5,45 +5,82 @@ using UnityEngine;
|
||||
|
||||
namespace AibisDream.FixSystem
|
||||
{
|
||||
public class BodyModuleTransition
|
||||
public struct GearToBodyModuleCommand : ITransitionCommand
|
||||
{
|
||||
public struct BodyModuleToGearCommand : ITransitionCommand
|
||||
{
|
||||
private static readonly Vector3 CameraPos = new(-2.5f, 2.13f, -10);
|
||||
private const float OrthographicSize = 2.5f;
|
||||
private const float Duration = 2f;
|
||||
private const float Duration = 2f;
|
||||
|
||||
public IEnumerator Execute()
|
||||
{
|
||||
var bodyModuleSystem = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
||||
var gearSystem = FixSystemCenter.SystemDic.Get<GearSystem>();
|
||||
public IEnumerator Execute()
|
||||
{
|
||||
var gearSystem = FixSystemCenter.SystemDic.Get<GearSystem>();
|
||||
|
||||
// 插头回到初始插孔
|
||||
bodyModuleSystem.ResetPlug();
|
||||
// 相机聚焦到目标位
|
||||
yield return CameraKit.Instance.TransCamera(CameraPos, OrthographicSize, Duration).WaitForCompletion();
|
||||
// 关盖子
|
||||
yield return gearSystem.CloseGearPanel();
|
||||
yield return gearSystem.CloseCover();
|
||||
// 相机返回
|
||||
yield return CameraKit.Instance.ReturnInitCamera(Duration).WaitForCompletion();
|
||||
}
|
||||
|
||||
// 打开引擎盖子
|
||||
yield return gearSystem.OpenCover();
|
||||
}
|
||||
public void SetArgs(string arg)
|
||||
{
|
||||
// 没有参数
|
||||
}
|
||||
}
|
||||
|
||||
public struct BodyModuleToGearCommand : ITransitionCommand
|
||||
{
|
||||
private static readonly Vector3 CameraPos = new(-1.09f, -0.07f, -10);
|
||||
private const float OrthographicSize = 1.6f;
|
||||
private const float Duration = 2f;
|
||||
|
||||
public void SetArgs(string arg)
|
||||
private string _configKey;
|
||||
|
||||
public IEnumerator Execute()
|
||||
{
|
||||
var bodyModuleSystem = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
||||
var gearSystem = FixSystemCenter.SystemDic.Get<GearSystem>();
|
||||
|
||||
// 插头回到初始插孔
|
||||
bodyModuleSystem.ResetPlug();
|
||||
// 相机聚焦到目标位
|
||||
yield return CameraKit.Instance.TransCamera(CameraPos, OrthographicSize, Duration).WaitForCompletion();
|
||||
if (!string.IsNullOrEmpty(_configKey))
|
||||
{
|
||||
// 暂无参数
|
||||
gearSystem.CurDataKey = _configKey;
|
||||
gearSystem.Load();
|
||||
}
|
||||
}
|
||||
|
||||
public struct GearToBodyModuleCommand : ITransitionCommand
|
||||
{
|
||||
public IEnumerator Execute()
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
|
||||
public void SetArgs(string arg)
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
public void SetArgs(string arg)
|
||||
{
|
||||
_configKey = arg.Trim();
|
||||
}
|
||||
}
|
||||
|
||||
public struct GearToClinicCommand : ITransitionCommand
|
||||
{
|
||||
private const float FadeDuration = 0.5f;
|
||||
|
||||
public IEnumerator Execute()
|
||||
{
|
||||
var clinicSystem = FixSystemCenter.SystemDic.Get<ClinicSystem>();
|
||||
var gearSystem = FixSystemCenter.SystemDic.Get<GearSystem>();
|
||||
|
||||
// 盖上盖子
|
||||
yield return gearSystem.CloseGearPanel();
|
||||
yield return gearSystem.CloseCover();
|
||||
// 黑屏
|
||||
yield return MainUIController.Instance.FadeInSync(FadeDuration);
|
||||
// 相机归位
|
||||
CameraKit.Instance.ResetCamara();
|
||||
// 打开诊所
|
||||
clinicSystem.gameObject.SetActive(true);
|
||||
// 黑屏淡出
|
||||
yield return MainUIController.Instance.FadeOutSync(FadeDuration);
|
||||
}
|
||||
|
||||
public void SetArgs(string arg)
|
||||
{
|
||||
// 没有参数
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ae4ece844a9a417687bd443b4cdf7820
|
||||
timeCreated: 1735242780
|
||||
guid: 31019d1b228d41eeb89a89fa9d9dd7e4
|
||||
timeCreated: 1735296030
|
||||
@@ -51,13 +51,13 @@ namespace AibisDream.FixSystem
|
||||
var clinicSystem = FixSystemCenter.SystemDic.Get<ClinicSystem>();
|
||||
var engineSystem = FixSystemCenter.SystemDic.Get<EngineSystem>();
|
||||
|
||||
// // 黑屏
|
||||
// 黑屏
|
||||
yield return MainUIController.Instance.FadeInSync(FadeDuration);
|
||||
// 隐藏诊所
|
||||
clinicSystem.gameObject.SetActive(false);
|
||||
// 激活插线系统
|
||||
bodyModuleSystem.gameObject.SetActive(true);
|
||||
// // 黑屏淡出
|
||||
// 黑屏淡出
|
||||
yield return MainUIController.Instance.FadeOutSync(FadeDuration);
|
||||
// 移动相机
|
||||
yield return CameraKit.Instance.TransCameraAsync(CameraPos, OrthographicSize, Duration);
|
||||
@@ -117,4 +117,41 @@ namespace AibisDream.FixSystem
|
||||
// 没有需要设置的
|
||||
}
|
||||
}
|
||||
|
||||
public struct ClinicToGearCommand : ITransitionCommand
|
||||
{
|
||||
private const float FadeDuration = 0.5f;
|
||||
|
||||
// 引擎相机设置
|
||||
private static readonly Vector3 CameraPos = new(-1.09f, -0.07f, -10);
|
||||
private const float OrthographicSize = 1.6f;
|
||||
private const float Duration = 2f;
|
||||
|
||||
private string _configName;
|
||||
|
||||
public IEnumerator Execute()
|
||||
{
|
||||
var bodyModuleSystem = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
||||
var clinicSystem = FixSystemCenter.SystemDic.Get<ClinicSystem>();
|
||||
var gearSystem = FixSystemCenter.SystemDic.Get<GearSystem>();
|
||||
|
||||
// 隐藏诊所
|
||||
clinicSystem.gameObject.SetActive(false);
|
||||
// 激活插线系统
|
||||
bodyModuleSystem.gameObject.SetActive(true);
|
||||
// 移动相机
|
||||
yield return CameraKit.Instance.TransCameraAsync(CameraPos, OrthographicSize, Duration);
|
||||
// 开启引擎玩法
|
||||
if (!string.IsNullOrEmpty(_configName))
|
||||
{
|
||||
gearSystem.CurDataKey = _configName;
|
||||
gearSystem.Load();
|
||||
}
|
||||
}
|
||||
|
||||
public void SetArgs(string arg)
|
||||
{
|
||||
_configName = arg.Trim();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -66,6 +66,11 @@ namespace AibisDream.Framework
|
||||
{
|
||||
return TransCameraAsync(_initPos, _initOrthographicSize, duration);
|
||||
}
|
||||
|
||||
public IEnumerator ShakeCamera(float duration, float strength, int vibrate)
|
||||
{
|
||||
yield return _mainCamera.transform.DOShakePosition(duration, strength, vibrate, 90, false, false).WaitForCompletion();
|
||||
}
|
||||
}
|
||||
|
||||
public static class CameraCommand
|
||||
@@ -89,5 +94,11 @@ namespace AibisDream.Framework
|
||||
Vector3 targetPos = new Vector3(x, y, -10);
|
||||
return CameraKit.Instance.TransCameraAsync(targetPos, duration);
|
||||
}
|
||||
|
||||
[YarnCommand("shake_camera")]
|
||||
public static IEnumerator ShakeCamera(float duration, float strength, int vibrate = 10)
|
||||
{
|
||||
return CameraKit.Instance.ShakeCamera(duration, strength, vibrate);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -49,8 +49,7 @@ namespace AibisDream.Framework
|
||||
{
|
||||
if (Input.GetKeyDown(KeyCode.K))
|
||||
{
|
||||
MonoCenter.Mono.StartCoroutine(FixSystemCenter.SystemDic.Get<CoolingSystem>().OpenCoolingSystem());
|
||||
MonoCenter.Mono.StartCoroutine(FixSystemCenter.SystemDic.Get<CoolingSystem>().OpenBottleUI());
|
||||
MonoCenter.Mono.StartCoroutine(FixSystemYarnCommand.SwitchFixSystemTo("Gear"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,15 +10,13 @@ namespace AibisDream
|
||||
[SerializeField] private int curLevel;
|
||||
|
||||
[SerializeField] private float heightY;
|
||||
|
||||
private Vector3 _offset;
|
||||
[SerializeField] private float minY;
|
||||
|
||||
public bool IsBlock { get; }
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
_engineSystem = transform.parent.GetComponent<EngineSystem>();
|
||||
_offset = transform.position;
|
||||
}
|
||||
|
||||
public void StartMove()
|
||||
@@ -35,13 +33,13 @@ namespace AibisDream
|
||||
private void UpdateTransform()
|
||||
{
|
||||
float levelHeight = heightY / (_engineSystem.config.maxLevel - 1);
|
||||
var curY = levelHeight * curLevel + _offset.y;
|
||||
var curY = levelHeight * curLevel + minY;
|
||||
transform.position = new Vector3(transform.position.x, curY, transform.position.z);
|
||||
}
|
||||
|
||||
private void SwitchAirLevel(float mouseY)
|
||||
{
|
||||
mouseY -= _offset.y;
|
||||
mouseY -= minY;
|
||||
|
||||
float levelHeight = heightY / _engineSystem.config.maxLevel;
|
||||
curLevel = (int)(mouseY / levelHeight);
|
||||
|
||||
@@ -35,9 +35,10 @@ namespace AibisDream
|
||||
_cover = transform.Find("Cover").GetComponent<SpriteRenderer>();
|
||||
}
|
||||
|
||||
private void OnEnable()
|
||||
private void Start()
|
||||
{
|
||||
engineData = new EngineData(config.invalidTime);
|
||||
DialogController.Instance?.SetVariable("$curAirLevel", 2);
|
||||
}
|
||||
|
||||
private void Update()
|
||||
@@ -179,7 +180,7 @@ namespace AibisDream
|
||||
|
||||
config = data;
|
||||
// 重置Data
|
||||
OnEnable();
|
||||
Start();
|
||||
}
|
||||
|
||||
public override void Save()
|
||||
@@ -275,8 +276,8 @@ namespace AibisDream
|
||||
if (inAirRange && !curInAirRange && !isSuccess)
|
||||
{
|
||||
// 出界的话
|
||||
if (curAir > curAirMax) DialogController.Instance.StartDialogNode("调速popup-过速");
|
||||
if (curAir < curAirMin) DialogController.Instance.StartDialogNode("调速popup-掉速");
|
||||
if (curAir > curAirMax) DialogController.Instance?.StartDialogNode("引擎过速");
|
||||
if (curAir < curAirMin) DialogController.Instance?.StartDialogNode("引擎掉速");
|
||||
|
||||
isValid.Value = false;
|
||||
}
|
||||
|
||||
@@ -7,15 +7,26 @@ namespace AibisDream
|
||||
{
|
||||
public class Gear : MonoBehaviour, IMoveable
|
||||
{
|
||||
[SerializeField] public float radius;
|
||||
[SerializeField] public Sprite gearSprite;
|
||||
|
||||
private const int ShakeAngle = 15;
|
||||
|
||||
public float radius;
|
||||
public Sprite gearSprite;
|
||||
public bool isBroken;
|
||||
public bool isDisc;
|
||||
|
||||
public float speed;
|
||||
private Tweener _rotationTweener;
|
||||
|
||||
#region 引用
|
||||
|
||||
private GearSystem _gearSystem;
|
||||
private CircleCollider2D _circleCollider;
|
||||
private SpriteRenderer _spriteRenderer;
|
||||
|
||||
#endregion
|
||||
|
||||
public Shaft targetShaft;
|
||||
|
||||
|
||||
public bool IsBlock { get; }
|
||||
|
||||
private void Awake()
|
||||
@@ -34,7 +45,7 @@ namespace AibisDream
|
||||
/// <summary>
|
||||
/// 设置齿轮信息
|
||||
/// </summary>
|
||||
public void InitGearModel()
|
||||
private void InitGearModel()
|
||||
{
|
||||
// 给齿轮赋值
|
||||
_spriteRenderer.sprite = gearSprite;
|
||||
@@ -43,6 +54,39 @@ namespace AibisDream
|
||||
_spriteRenderer.size = new Vector2(radius * 2, radius * 2);
|
||||
}
|
||||
|
||||
public void UpdateRotation(float newSpeed, float speedScale)
|
||||
{
|
||||
// 初始化速度
|
||||
speed = Mathf.Abs(newSpeed);
|
||||
var target = newSpeed >= 0 ? new Vector3(0, 0, 360) : new Vector3(0, 0, -360);
|
||||
|
||||
_rotationTweener?.Kill();
|
||||
// 打开动画
|
||||
if (isBroken)
|
||||
{
|
||||
_rotationTweener = transform.DORotate(new Vector3(0, 0, ShakeAngle), ShakeAngle / speed / 360,
|
||||
RotateMode.LocalAxisAdd)
|
||||
.SetEase(Ease.Linear)
|
||||
.SetLoops(-1, LoopType.Yoyo)
|
||||
.SetDelay(0.1f);
|
||||
}
|
||||
else
|
||||
{
|
||||
_rotationTweener = transform.DORotate(target, 1 / Mathf.Abs(speed), RotateMode.LocalAxisAdd)
|
||||
.SetEase(Ease.Linear)
|
||||
.SetLoops(-1, LoopType.Incremental);
|
||||
}
|
||||
|
||||
_rotationTweener.timeScale = speedScale;
|
||||
}
|
||||
|
||||
public void UpdateSpeedScale(float speedScale)
|
||||
{
|
||||
_rotationTweener.timeScale = speedScale;
|
||||
}
|
||||
|
||||
#region 移动相关
|
||||
|
||||
public void StartMove()
|
||||
{
|
||||
targetShaft?.PlugOutGear();
|
||||
@@ -69,6 +113,7 @@ namespace AibisDream
|
||||
targetShaft = tempShaft;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,7 @@ using AibisDream.FixSystem;
|
||||
using AibisDream.Framework;
|
||||
using AibisDream.Kit;
|
||||
using DG.Tweening;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace AibisDream
|
||||
@@ -13,15 +14,29 @@ namespace AibisDream
|
||||
{
|
||||
#region 索引
|
||||
|
||||
[SerializeField] private GameObject gearPrefab;
|
||||
[SerializeField] private GameObject shaftPrefab;
|
||||
private Shaft[] _shafts;
|
||||
public GameObject gearPrefab;
|
||||
public GameObject shaftPrefab;
|
||||
private Transform _panel;
|
||||
private SpriteRenderer _cover;
|
||||
private Transform _coverStick;
|
||||
private Transform _needle;
|
||||
|
||||
private ShaftGraph _shaftGraph;
|
||||
|
||||
#endregion
|
||||
|
||||
private ShaftGraph _shaftGraph;
|
||||
public Vector3 coverUpPos;
|
||||
public Vector3 coverDownPos;
|
||||
|
||||
public Vector3 panelOpenPos;
|
||||
public Vector3 panelClosePos;
|
||||
|
||||
public Vector3 needleEmptyPos;
|
||||
public Vector3[] needlePosArr;
|
||||
public float needleDuration;
|
||||
|
||||
private bool _isTargetReached;
|
||||
private bool _isDiscReady;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
@@ -33,18 +48,20 @@ namespace AibisDream
|
||||
public void Init()
|
||||
{
|
||||
FixSystemCenter.SystemDic.Register(this);
|
||||
_shafts = GetComponentsInChildren<Shaft>();
|
||||
|
||||
_cover = transform.Find("Cover").GetComponent<SpriteRenderer>();
|
||||
_coverStick = transform.Find("Cover Stick");
|
||||
_panel = transform.Find("Empty Shafts Panel");
|
||||
_needle = transform.Find("Needle");
|
||||
}
|
||||
|
||||
public void Start()
|
||||
{
|
||||
if (_shafts != null && _shafts.Length != 0)
|
||||
{
|
||||
_shaftGraph = new ShaftGraph(_shafts);
|
||||
}
|
||||
_shaftGraph?.Clear();
|
||||
var shafts = transform.Find("Shafts").GetComponentsInChildren<Shaft>();
|
||||
var panelShafts = _panel.GetComponentsInChildren<Shaft>();
|
||||
_shaftGraph = new ShaftGraph(shafts, panelShafts);
|
||||
|
||||
_panel.gameObject.SetActive(false);
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -71,23 +88,6 @@ namespace AibisDream
|
||||
return _shaftGraph.CheckGearSuitable(sourceShaft, gearRadius);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 生成齿轮
|
||||
/// </summary>
|
||||
/// <param name="pos">位置</param>
|
||||
/// <param name="radius">半径</param>
|
||||
/// <param name="sprite">齿轮图片</param>
|
||||
/// <returns>齿轮Obj</returns>
|
||||
public GameObject InitGear(Vector3 pos, float radius, Sprite sprite)
|
||||
{
|
||||
GameObject gearObj = Instantiate(gearPrefab, pos, Quaternion.identity);
|
||||
gearObj.transform.parent = transform.Find("Gears").transform;
|
||||
Gear gear = gearObj.GetComponent<Gear>();
|
||||
gear.radius = radius;
|
||||
gear.gearSprite = sprite;
|
||||
return gearObj;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 某个轴上齿轮发生变化时更新临接关系
|
||||
/// </summary>
|
||||
@@ -97,31 +97,80 @@ namespace AibisDream
|
||||
_shaftGraph?.ChangeVertex(shaftId);
|
||||
}
|
||||
|
||||
public void Succeed()
|
||||
#region 胜利状况判断
|
||||
|
||||
public void CheckGearSystemState()
|
||||
{
|
||||
Debug.Log("达成目标");
|
||||
DialogController.Instance.StartDialogNode("齿轮系统状态变化");
|
||||
}
|
||||
|
||||
public void ReachTargetSpeed()
|
||||
{
|
||||
if (!_isTargetReached)
|
||||
{
|
||||
DialogController.Instance?.SetVariable("$speedReached", true);
|
||||
_isTargetReached = true;
|
||||
}
|
||||
}
|
||||
|
||||
public void ResetTargetState()
|
||||
{
|
||||
if (_isTargetReached)
|
||||
{
|
||||
DialogController.Instance?.SetVariable("$speedReached", false);
|
||||
_isTargetReached = false;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public IEnumerator OpenCover()
|
||||
{
|
||||
// 滑杆旋转
|
||||
yield return _coverStick.DORotate(new Vector3(0, 0, -90f), 1f).WaitForCompletion();
|
||||
// 盖子移动
|
||||
// 旋转拉杆
|
||||
yield return _coverStick.DORotate(new Vector3(0, 0, -90), 1.5f).WaitForCompletion();
|
||||
// 开盖
|
||||
var sq = DOTween.Sequence();
|
||||
sq.Join(_cover.transform.DOLocalMove(new Vector3(-1.86f, 2.11f, 0), 1f));
|
||||
sq.Join(_cover.DOFade(0, 1f));
|
||||
sq.Join(_cover.transform.DOLocalMove(coverUpPos, 1.5f));
|
||||
sq.Join(_cover.DOFade(0, 1.5f));
|
||||
yield return sq.WaitForCompletion();
|
||||
}
|
||||
|
||||
public IEnumerator CloseCover()
|
||||
{
|
||||
// 盖子移动
|
||||
// 关盖
|
||||
var sq = DOTween.Sequence();
|
||||
sq.Join(_cover.transform.DOLocalMove(new Vector3(-1.86f, -0.38f, 0), 1f));
|
||||
sq.Join(_cover.DOFade(0, 1f));
|
||||
sq.Join(_cover.transform.DOLocalMove(coverDownPos, 1.5f));
|
||||
sq.Join(_cover.DOFade(1, 1.5f));
|
||||
yield return sq.WaitForCompletion();
|
||||
// 滑杆旋转
|
||||
yield return _coverStick.DORotate(new Vector3(0, 0, 0), 1f).WaitForCompletion();
|
||||
// 旋转拉杆
|
||||
yield return _coverStick.DORotate(new Vector3(0, 0, 0), 1.5f).WaitForCompletion();
|
||||
}
|
||||
|
||||
public IEnumerator OpenGearPanel()
|
||||
{
|
||||
_panel.gameObject.SetActive(true);
|
||||
yield return _panel.DOLocalMove(panelOpenPos, 1f).WaitForCompletion();
|
||||
}
|
||||
|
||||
public IEnumerator CloseGearPanel()
|
||||
{
|
||||
yield return _panel.DOLocalMove(panelClosePos, 1f).WaitForCompletion();
|
||||
_panel.gameObject.SetActive(false);
|
||||
}
|
||||
|
||||
public IEnumerator MoveNeedle(int discIdx)
|
||||
{
|
||||
Vector3 target;
|
||||
if (discIdx > needlePosArr.Length || discIdx <= 0)
|
||||
{
|
||||
target = needleEmptyPos;
|
||||
}
|
||||
else
|
||||
{
|
||||
target = needlePosArr[discIdx - 1];
|
||||
}
|
||||
|
||||
yield return _needle.DORotate(target, needleDuration).WaitForCompletion();
|
||||
}
|
||||
|
||||
#region 数据保存与加载
|
||||
@@ -163,23 +212,51 @@ namespace AibisDream
|
||||
private void LoadByData(GearSystemData gearSystemData)
|
||||
{
|
||||
// 先清除
|
||||
var shaftRoot = transform.Find("Shafts");
|
||||
var shaftsObj = shaftRoot.GetComponentsInChildren<Shaft>();
|
||||
var shaftsObj = GetComponentsInChildren<Shaft>(true);
|
||||
foreach (var oldShaft in shaftsObj)
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
DestroyImmediate(oldShaft.gameObject);
|
||||
if (!EditorApplication.isPlaying)
|
||||
{
|
||||
DestroyImmediate(oldShaft.gameObject);
|
||||
}
|
||||
else
|
||||
{
|
||||
Destroy(oldShaft.gameObject);
|
||||
}
|
||||
#else
|
||||
Destory(oldShaft.gameObject);
|
||||
Destroy(oldShaft.gameObject);
|
||||
#endif
|
||||
}
|
||||
|
||||
// 再添加
|
||||
foreach (var shaftData in gearSystemData.shaftLevelDataArray)
|
||||
var shaftRoot = transform.Find("Shafts");
|
||||
var shafts = new Shaft[gearSystemData.shaftLevelDataArray.Length];
|
||||
for (int i = 0; i < gearSystemData.shaftLevelDataArray.Length; i++)
|
||||
{
|
||||
var newShaft = Instantiate(shaftPrefab, shaftRoot).GetComponent<Shaft>();
|
||||
newShaft.Load(shaftData);
|
||||
newShaft.Load(gearSystemData.shaftLevelDataArray[i]);
|
||||
shafts[i] = newShaft;
|
||||
}
|
||||
|
||||
var panelShaftRoot = transform.Find("Empty Shafts Panel");
|
||||
var panelShafts = new Shaft[gearSystemData.panelShaftArray.Length];
|
||||
for (int i = 0; i < gearSystemData.panelShaftArray.Length; i++)
|
||||
{
|
||||
var newShaft = Instantiate(shaftPrefab, panelShaftRoot).GetComponent<Shaft>();
|
||||
newShaft.Load(gearSystemData.panelShaftArray[i]);
|
||||
panelShafts[i] = newShaft;
|
||||
}
|
||||
|
||||
_cover = transform.Find("Cover").GetComponent<SpriteRenderer>();
|
||||
_coverStick = transform.Find("Cover Stick");
|
||||
_panel = transform.Find("Empty Shafts Panel");
|
||||
|
||||
#if UNITY_EDITOR
|
||||
if (!EditorApplication.isPlaying) return;
|
||||
#endif
|
||||
_shaftGraph?.Clear();
|
||||
_shaftGraph = new ShaftGraph(shafts, panelShafts);
|
||||
}
|
||||
|
||||
public override void Save()
|
||||
@@ -196,17 +273,19 @@ namespace AibisDream
|
||||
|
||||
private void SaveByKey(string key)
|
||||
{
|
||||
var shaftsObj = transform.Find("Shafts").GetComponentsInChildren<Shaft>();
|
||||
var shaftDataArray = new ShaftLevelData[shaftsObj.Length];
|
||||
|
||||
for (int i = 0; i < shaftDataArray.Length; i++)
|
||||
{
|
||||
shaftDataArray[i] = shaftsObj[i].Save();
|
||||
}
|
||||
var shaftDataArray = transform.Find("Shafts")
|
||||
.GetComponentsInChildren<Shaft>()
|
||||
.Select(shaft => shaft.Save())
|
||||
.ToArray();
|
||||
var panelShaftArray = transform.Find("Empty Shafts Panel")
|
||||
.GetComponentsInChildren<Shaft>()
|
||||
.Select(shaft => shaft.Save())
|
||||
.ToArray();
|
||||
|
||||
var data = new GearSystemData
|
||||
{
|
||||
shaftLevelDataArray = shaftDataArray
|
||||
shaftLevelDataArray = shaftDataArray,
|
||||
panelShaftArray = panelShaftArray
|
||||
};
|
||||
|
||||
ConfigUtil.Instance.SaveConfig(data, DataPath + key);
|
||||
@@ -225,5 +304,6 @@ namespace AibisDream
|
||||
public struct GearSystemData
|
||||
{
|
||||
public ShaftLevelData[] shaftLevelDataArray;
|
||||
public ShaftLevelData[] panelShaftArray;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
using System.Collections;
|
||||
using AibisDream.FixSystem;
|
||||
using UnityEngine;
|
||||
using Yarn.Unity;
|
||||
|
||||
namespace AibisDream
|
||||
{
|
||||
public static class GearYarnCommand
|
||||
{
|
||||
[YarnCommand("move_needle")]
|
||||
public static IEnumerator MoveNeedle()
|
||||
{
|
||||
DialogController.Instance.TryGetVariable<float>("$discIdx", out var discIdx);
|
||||
Debug.Log(discIdx);
|
||||
return FixSystemCenter.SystemDic.Get<GearSystem>().MoveNeedle((int) discIdx);
|
||||
}
|
||||
|
||||
[YarnCommand("open_gear_panel")]
|
||||
public static IEnumerator OpenGearPanel()
|
||||
{
|
||||
return FixSystemCenter.SystemDic.Get<GearSystem>().OpenGearPanel();
|
||||
}
|
||||
|
||||
[YarnCommand("close_gear_panel")]
|
||||
public static IEnumerator CloseGearPanel()
|
||||
{
|
||||
return FixSystemCenter.SystemDic.Get<GearSystem>().CloseGearPanel();
|
||||
}
|
||||
|
||||
[YarnCommand("close_gear_cover")]
|
||||
public static IEnumerator CloseCover()
|
||||
{
|
||||
return FixSystemCenter.SystemDic.Get<GearSystem>().CloseCover();
|
||||
}
|
||||
|
||||
[YarnCommand("open_gear_cover")]
|
||||
public static IEnumerator OpenCover()
|
||||
{
|
||||
return FixSystemCenter.SystemDic.Get<GearSystem>().OpenCover();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 73b9ebccdc5e4c12be4c93d3e0a71e52
|
||||
timeCreated: 1735397288
|
||||
@@ -1,6 +1,5 @@
|
||||
using System;
|
||||
using AibisDream.Framework;
|
||||
using AibisDream.Utility;
|
||||
using DG.Tweening;
|
||||
using Newtonsoft.Json;
|
||||
using UnityEngine;
|
||||
@@ -14,11 +13,14 @@ namespace AibisDream
|
||||
[SerializeField] public ShaftType shaftType;
|
||||
|
||||
// 初始齿轮
|
||||
[SerializeField] private bool hasGear;
|
||||
[SerializeField] private bool isInitGearBroken;
|
||||
[SerializeField] private bool isInitGearDisc;
|
||||
[SerializeField] private float initRadius;
|
||||
[SerializeField] private Sprite initSprite;
|
||||
[SerializeField] private bool hasGear;
|
||||
[SerializeField] private int discIdx;
|
||||
|
||||
[SerializeField] private GameObject childGear;
|
||||
[SerializeField] private Gear childGear;
|
||||
|
||||
// 初始角速度
|
||||
[SerializeField] private float initialSpeed;
|
||||
@@ -28,8 +30,10 @@ namespace AibisDream
|
||||
|
||||
// 当前角速度
|
||||
public float speed;
|
||||
private float _speedScale = 1;
|
||||
|
||||
public bool IsPluggable => shaftType is ShaftType.Pluggable or ShaftType.Driver or ShaftType.Target;
|
||||
public bool IsBroken => childGear != null && childGear.isBroken;
|
||||
public bool IsDisc => childGear != null && childGear.isDisc;
|
||||
|
||||
/// <summary>
|
||||
/// 当前齿轮半径
|
||||
@@ -43,13 +47,7 @@ namespace AibisDream
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (IsPluggable)
|
||||
{
|
||||
Gear gear = childGear.GetComponent<Gear>();
|
||||
return gear.radius;
|
||||
}
|
||||
|
||||
return initRadius;
|
||||
return childGear.radius;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,63 +63,73 @@ namespace AibisDream
|
||||
/// </summary>
|
||||
public void InitShaft()
|
||||
{
|
||||
_gearSystem = transform.parent.parent.GetComponent<GearSystem>();
|
||||
// 如果不带齿轮
|
||||
if (!hasGear) return;
|
||||
|
||||
// 如果带齿轮,要根据齿轮类型生成
|
||||
childGear = IsPluggable ? InitPluggableGear() : InitStaticGear();
|
||||
childGear = InitGear(initRadius, initSprite, isInitGearBroken, isInitGearDisc);
|
||||
|
||||
speed = initialSpeed;
|
||||
UpdateSpeed();
|
||||
childGear.UpdateRotation(speed, _speedScale);
|
||||
}
|
||||
|
||||
private GameObject InitStaticGear()
|
||||
private Gear InitGear(float radius, Sprite sprite, bool isBroken = false, bool isDisc = false)
|
||||
{
|
||||
GameObject staticGear = transform.GetChild(0).gameObject;
|
||||
|
||||
// 添加齿轮图片
|
||||
staticGear.SetActive(true);
|
||||
var staticGearRenderer = staticGear.GetComponent<SpriteRenderer>();
|
||||
staticGearRenderer.sprite = initSprite;
|
||||
staticGearRenderer.size = new Vector2(initRadius * 2, initRadius * 2);
|
||||
|
||||
// 如果有初速,就要开始转动了
|
||||
if (!CommonUtil.IsZero(initialSpeed))
|
||||
{
|
||||
staticGear.transform.DORotate(new Vector3(0, 0, 360), 1 / initialSpeed, RotateMode.LocalAxisAdd)
|
||||
.SetEase(Ease.Linear).SetLoops(-1, LoopType.Incremental);
|
||||
}
|
||||
|
||||
return staticGear;
|
||||
}
|
||||
|
||||
private GameObject InitPluggableGear()
|
||||
{
|
||||
var gear = _gearSystem.InitGear(transform.position, initRadius, initSprite);
|
||||
gear.GetComponent<Gear>().targetShaft = this;
|
||||
var gear = Instantiate(_gearSystem.gearPrefab, transform).GetComponent<Gear>();
|
||||
gear.radius = radius;
|
||||
gear.gearSprite = sprite;
|
||||
gear.isBroken = isBroken;
|
||||
gear.targetShaft = this;
|
||||
gear.isDisc = isDisc;
|
||||
return gear;
|
||||
}
|
||||
|
||||
public void PlugInGear(Gear gear)
|
||||
{
|
||||
childGear = gear.gameObject;
|
||||
childGear = gear;
|
||||
gear.transform.parent = transform;
|
||||
_gearSystem.ChangeGraphVertex(GetInstanceID());
|
||||
// 面板里的齿轮才能触发
|
||||
if (transform.parent.name == "Shafts")
|
||||
{
|
||||
OnGearPlugIn();
|
||||
_gearSystem.CheckGearSystemState();
|
||||
}
|
||||
}
|
||||
|
||||
private void OnGearPlugIn()
|
||||
{
|
||||
// 破损齿轮插进来就发一次事件,交给yarn处理
|
||||
if (IsBroken)
|
||||
{
|
||||
DialogController.Instance?.StartDialogNode("破损齿轮插入");
|
||||
}
|
||||
|
||||
if (IsDisc)
|
||||
{
|
||||
DialogController.Instance?.SetVariable("$discIdx", discIdx);
|
||||
}
|
||||
}
|
||||
|
||||
public void PlugOutGear()
|
||||
{
|
||||
// 拔出时齿轮停转
|
||||
childGear.UpdateRotation(0, _speedScale);
|
||||
|
||||
childGear.transform.parent = null;
|
||||
childGear = null;
|
||||
_gearSystem.ChangeGraphVertex(GetInstanceID());
|
||||
}
|
||||
|
||||
public void UpdateSpeed()
|
||||
public void ChangeRotateState()
|
||||
{
|
||||
UpdateSpeedAnima();
|
||||
CheckGameState();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 速度修改后改变动画
|
||||
/// 速度修改后改变动画(可能改变方向)
|
||||
/// </summary>
|
||||
private void UpdateSpeedAnima()
|
||||
{
|
||||
@@ -131,34 +139,30 @@ namespace AibisDream
|
||||
return;
|
||||
}
|
||||
|
||||
if (CommonUtil.IsZero(speed))
|
||||
{
|
||||
childGear.transform.DOPause();
|
||||
return;
|
||||
}
|
||||
childGear.UpdateRotation(speed, _speedScale);
|
||||
}
|
||||
|
||||
// 更新动画
|
||||
childGear.transform.DOKill();
|
||||
if (speed > 0)
|
||||
{
|
||||
childGear.transform.DORotate(new Vector3(0, 0, 360), 1 / speed, RotateMode.LocalAxisAdd)
|
||||
.SetEase(Ease.Linear).SetLoops(-1, LoopType.Incremental);
|
||||
}
|
||||
else
|
||||
{
|
||||
childGear.transform.DORotate(new Vector3(0, 0, -360), 1 / -speed, RotateMode.LocalAxisAdd)
|
||||
.SetEase(Ease.Linear).SetLoops(-1, LoopType.Incremental);
|
||||
}
|
||||
public void UpdateSpeedScale(float newSpeedScale)
|
||||
{
|
||||
_speedScale = newSpeedScale;
|
||||
if (!HasChildGear()) return;
|
||||
childGear.UpdateSpeedScale(_speedScale);
|
||||
CheckGameState();
|
||||
}
|
||||
|
||||
private void CheckGameState()
|
||||
{
|
||||
if (shaftType == ShaftType.Target)
|
||||
// 只有目标轴判断
|
||||
if (shaftType != ShaftType.Target) return;
|
||||
|
||||
//
|
||||
if (targetSpeed <= Mathf.Abs(speed * _speedScale))
|
||||
{
|
||||
if (targetSpeed <= Mathf.Abs(speed))
|
||||
{
|
||||
_gearSystem.Succeed();
|
||||
}
|
||||
_gearSystem.ReachTargetSpeed();
|
||||
}
|
||||
else
|
||||
{
|
||||
_gearSystem.ResetTargetState();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -226,6 +230,16 @@ namespace AibisDream
|
||||
return shaft1.GearRadius / shaft2.GearRadius;
|
||||
}
|
||||
|
||||
public void OnDestroy()
|
||||
{
|
||||
if (childGear != null)
|
||||
{
|
||||
childGear.transform.DOKill();
|
||||
}
|
||||
Destroy(childGear);
|
||||
Destroy(gameObject);
|
||||
}
|
||||
|
||||
public void OnDrawGizmos()
|
||||
{
|
||||
Gizmos.color = Color.red;
|
||||
@@ -240,9 +254,12 @@ namespace AibisDream
|
||||
gameObject.name = levelData.shaftName;
|
||||
transform.localPosition = levelData.ShaftPos;
|
||||
initSprite = levelData.GearPic;
|
||||
|
||||
|
||||
shaftType = levelData.shaftType;
|
||||
hasGear = levelData.hasChildGear;
|
||||
isInitGearBroken = levelData.isGearBroken;
|
||||
isInitGearDisc = levelData.isDisc;
|
||||
discIdx = levelData.discIdx;
|
||||
initialSpeed = levelData.initialSpeed;
|
||||
targetSpeed = levelData.targetSpeed;
|
||||
initRadius = levelData.radius;
|
||||
@@ -257,6 +274,9 @@ namespace AibisDream
|
||||
GearPic = initSprite,
|
||||
shaftType = shaftType,
|
||||
hasChildGear = hasGear,
|
||||
isGearBroken = isInitGearBroken,
|
||||
isDisc = isInitGearDisc,
|
||||
discIdx = discIdx,
|
||||
initialSpeed = initialSpeed,
|
||||
targetSpeed = targetSpeed,
|
||||
radius = initRadius
|
||||
@@ -270,22 +290,23 @@ namespace AibisDream
|
||||
{
|
||||
Driver, // 拥有初始速度,没有目标速度,全局仅有一个
|
||||
Target, // 没有初始速度,有目标速度,全局有多个
|
||||
Constant, // 没有初始速度,没有目标速度,不可拖动
|
||||
Pluggable // 没有初始速度,没有目标速度,可拔插
|
||||
}
|
||||
|
||||
|
||||
[Serializable]
|
||||
public struct ShaftLevelData
|
||||
{
|
||||
public string shaftName;
|
||||
|
||||
// 关卡数据
|
||||
public ShaftType shaftType;
|
||||
public float initialSpeed;
|
||||
public float targetSpeed;
|
||||
public bool hasChildGear;
|
||||
public float radius;
|
||||
public float isGearBroken;
|
||||
public float brokenAngle;
|
||||
public bool isGearBroken;
|
||||
public bool isDisc;
|
||||
public int discIdx;
|
||||
|
||||
// 外形数据
|
||||
public SerializableVector3 shaftPos;
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using AibisDream.FixSystem;
|
||||
using UnityEngine;
|
||||
|
||||
namespace AibisDream
|
||||
@@ -9,6 +11,7 @@ namespace AibisDream
|
||||
private readonly int _vertexSize;
|
||||
// 顶点Map
|
||||
private readonly Shaft[] _vertexArray;
|
||||
private readonly Shaft[] _panelShafts;
|
||||
// 邻接表
|
||||
private float[,] _edgeTable;
|
||||
// 遍历记录
|
||||
@@ -16,24 +19,32 @@ namespace AibisDream
|
||||
// 动力轴序号
|
||||
private readonly int _rootIdx;
|
||||
|
||||
public ShaftGraph(Shaft[] shafts)
|
||||
public ShaftGraph(Shaft[] shafts, Shaft[] panelShafts)
|
||||
{
|
||||
// 为轴赋值
|
||||
_vertexSize = shafts.Length;
|
||||
_vertexRecordArray = new bool[_vertexSize];
|
||||
_vertexArray = shafts;
|
||||
_panelShafts = panelShafts;
|
||||
foreach (var shaft in _vertexArray)
|
||||
{
|
||||
shaft.InitShaft();
|
||||
}
|
||||
foreach (var shaft in _panelShafts)
|
||||
{
|
||||
shaft.InitShaft();
|
||||
}
|
||||
|
||||
// 寻找唯一的驱动轴序号
|
||||
_rootIdx = FindDriverIdx();
|
||||
|
||||
|
||||
// 生成边邻接表
|
||||
GeneEdgeTable();
|
||||
|
||||
UpdateSpeed();
|
||||
|
||||
var engine = FixSystemCenter.SystemDic.Get<EngineSystem>();
|
||||
engine.UpdateDashboard += Accelerate;
|
||||
}
|
||||
|
||||
private int FindDriverIdx()
|
||||
@@ -83,6 +94,7 @@ namespace AibisDream
|
||||
{
|
||||
// 找到对应idx
|
||||
int idx = TranInstanceIDToIdx(instanceID);
|
||||
if (idx == -1) return;
|
||||
|
||||
// 更新该节点对应的邻接表
|
||||
for (int i = 0; i < _vertexSize; i++)
|
||||
@@ -128,7 +140,7 @@ namespace AibisDream
|
||||
/// <summary>
|
||||
/// 更新当前所有轴的速度
|
||||
/// </summary>
|
||||
public void UpdateSpeed()
|
||||
private void UpdateSpeed()
|
||||
{
|
||||
// 清除遍历记录
|
||||
Array.Clear(_vertexRecordArray, 0, _vertexSize);
|
||||
@@ -140,7 +152,7 @@ namespace AibisDream
|
||||
// 更新完速度后统一更新动画
|
||||
foreach (var shaft in _vertexArray)
|
||||
{
|
||||
shaft.UpdateSpeed();
|
||||
shaft.ChangeRotateState();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -165,8 +177,11 @@ namespace AibisDream
|
||||
|
||||
// 已遍历的轴加上标记
|
||||
_vertexRecordArray[i] = true;
|
||||
// 继续寻找相邻齿轮
|
||||
UpdateShaftSpeedByIdx(i);
|
||||
// 如果当前齿轮未破碎,继续更新相邻齿轮
|
||||
if (!_vertexArray[i].IsBroken)
|
||||
{
|
||||
UpdateShaftSpeedByIdx(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -199,9 +214,11 @@ namespace AibisDream
|
||||
// 查询距离最近的,可吸附的Shaft
|
||||
Shaft closestShaft = null;
|
||||
float minDistance = -1;
|
||||
foreach (var vertex in _vertexArray)
|
||||
|
||||
var totalArray = _vertexArray.Concat(_panelShafts);
|
||||
foreach (var vertex in totalArray)
|
||||
{
|
||||
if (vertex.IsPluggable && !vertex.HasChildGear())
|
||||
if (!vertex.HasChildGear())
|
||||
{
|
||||
float tempDis = Vector3.Distance(vertex.transform.position, pos);
|
||||
if (minDistance < 0 || tempDis < minDistance)
|
||||
@@ -239,7 +256,7 @@ namespace AibisDream
|
||||
{
|
||||
if (i == idx) continue; // 不需要计算和自身的关系
|
||||
float availableDis = Shaft.CalcShaftAvailableDis(sourceShaft.transform.position, _vertexArray[i]);
|
||||
if (availableDis < gearRadius - 0.15f)
|
||||
if (availableDis < gearRadius - 0.05f)
|
||||
{
|
||||
isShaftAvailable = false;
|
||||
break;
|
||||
@@ -249,10 +266,22 @@ namespace AibisDream
|
||||
return isShaftAvailable;
|
||||
}
|
||||
|
||||
|
||||
public void AddDriverSpeed(float curSpeed)
|
||||
/// <summary>
|
||||
/// 通过引擎系统加速
|
||||
/// </summary>
|
||||
/// <param name="engineData"></param>
|
||||
private void Accelerate(EngineData engineData)
|
||||
{
|
||||
|
||||
foreach (var shaft in _vertexArray)
|
||||
{
|
||||
if (shaft.HasChildGear()) shaft.UpdateSpeedScale(1 + engineData.curSpeed);
|
||||
}
|
||||
}
|
||||
|
||||
public void Clear()
|
||||
{
|
||||
var engine = FixSystemCenter.SystemDic.Get<EngineSystem>();
|
||||
engine.UpdateDashboard -= Accelerate;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,7 @@ using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using AibisDream.FixSystem;
|
||||
|
||||
public class UFSystem : MonoBehaviour
|
||||
{
|
||||
// Start is called before the first frame update
|
||||
@@ -9,52 +10,54 @@ public class UFSystem : MonoBehaviour
|
||||
private GameObject _UFModule;
|
||||
|
||||
public GameObject UFPanel;
|
||||
|
||||
void Start()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
FixSystemCenter.SystemDic.Register(this);
|
||||
|
||||
}
|
||||
|
||||
public void OpenUFView()
|
||||
{
|
||||
if(!UFPanel.activeInHierarchy)
|
||||
if (!UFPanel.activeInHierarchy)
|
||||
{
|
||||
UFPanel.SetActive(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void CloseUFView()
|
||||
{
|
||||
if(UFPanel.activeInHierarchy)
|
||||
if (UFPanel.activeInHierarchy)
|
||||
{
|
||||
UFPanel.SetActive(false);
|
||||
}
|
||||
}
|
||||
|
||||
public void OpenCover()
|
||||
{
|
||||
var bodyModuleSystem = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
||||
_UFCover = bodyModuleSystem.FindBodyModuleByName("UF").transform.Find("Cover").gameObject;
|
||||
if(_UFCover.activeInHierarchy)
|
||||
if (_UFCover.activeInHierarchy)
|
||||
{
|
||||
_UFCover.SetActive(false);
|
||||
}
|
||||
}
|
||||
public void RemoveUF()
|
||||
|
||||
public void RemoveUF()
|
||||
{
|
||||
var bodyModuleSystem = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
||||
_UFModule = bodyModuleSystem.FindBodyModuleByName("UF").gameObject;
|
||||
if(_UFModule.activeInHierarchy)
|
||||
if (_UFModule.activeInHierarchy)
|
||||
{
|
||||
_UFModule.SetActive(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
{"hasHotErr":false,"moduleDataArray":[{"moduleName":"Lung","modulePicPath":"","modulePos":{"x":0.91,"y":1.84,"z":0.0},"socketPos":{"x":0.005,"y":-0.011,"z":0.0},"indicatorPos":{"x":0.0,"y":0.0,"z":0.0},"waveformType":1,"waveHasError":true,"ignoreWaveCheck":false,"cantStopRunning":false},{"moduleName":"Heart","modulePicPath":"","modulePos":{"x":-3.89,"y":1.44,"z":0.0},"socketPos":{"x":0.005,"y":-0.011,"z":0.0},"indicatorPos":{"x":0.0,"y":0.0,"z":0.0},"waveformType":0,"waveHasError":false,"ignoreWaveCheck":false,"cantStopRunning":false},{"moduleName":"GearBox","modulePicPath":"","modulePos":{"x":-3.11,"y":0.08,"z":0.0},"socketPos":{"x":0.005,"y":-0.011,"z":0.0},"indicatorPos":{"x":0.0,"y":0.0,"z":0.0},"waveformType":0,"waveHasError":false,"ignoreWaveCheck":false,"cantStopRunning":false},{"moduleName":"Liver","modulePicPath":"","modulePos":{"x":1.02,"y":-3.3,"z":0.0},"socketPos":{"x":0.005,"y":-0.011,"z":0.0},"indicatorPos":{"x":0.0,"y":0.0,"z":0.0},"waveformType":0,"waveHasError":false,"ignoreWaveCheck":false,"cantStopRunning":false},{"moduleName":"Stomach","modulePicPath":"","modulePos":{"x":-3.77,"y":-3.81,"z":0.0},"socketPos":{"x":0.005,"y":-0.011,"z":0.0},"indicatorPos":{"x":0.0,"y":0.0,"z":0.0},"waveformType":0,"waveHasError":false,"ignoreWaveCheck":false,"cantStopRunning":false}]}
|
||||
{"hasHotErr":false,"moduleDataArray":[{"moduleName":"Lung","modulePicPath":"","modulePos":{"x":0.6,"y":1.85,"z":0.0},"socketPos":{"x":0.005,"y":-0.011,"z":0.0},"indicatorPos":{"x":0.0,"y":0.0,"z":0.0},"waveformType":1,"waveHasError":true,"ignoreWaveCheck":false,"cantStopRunning":false},{"moduleName":"Heart","modulePicPath":"","modulePos":{"x":-4.54,"y":0.92,"z":0.0},"socketPos":{"x":0.005,"y":-0.011,"z":0.0},"indicatorPos":{"x":0.0,"y":0.0,"z":0.0},"waveformType":0,"waveHasError":false,"ignoreWaveCheck":false,"cantStopRunning":false},{"moduleName":"GearBox","modulePicPath":"","modulePos":{"x":-3.259,"y":0.115,"z":0.0},"socketPos":{"x":0.005,"y":-0.011,"z":0.0},"indicatorPos":{"x":0.0,"y":0.0,"z":0.0},"waveformType":0,"waveHasError":false,"ignoreWaveCheck":false,"cantStopRunning":false},{"moduleName":"Liver","modulePicPath":"","modulePos":{"x":1.011,"y":-3.065,"z":0.0},"socketPos":{"x":0.005,"y":-0.011,"z":0.0},"indicatorPos":{"x":0.0,"y":0.0,"z":0.0},"waveformType":0,"waveHasError":false,"ignoreWaveCheck":false,"cantStopRunning":false},{"moduleName":"Stomach","modulePicPath":"","modulePos":{"x":-3.977,"y":-3.819,"z":0.0},"socketPos":{"x":0.005,"y":-0.011,"z":0.0},"indicatorPos":{"x":0.0,"y":0.0,"z":0.0},"waveformType":0,"waveHasError":false,"ignoreWaveCheck":false,"cantStopRunning":false}]}
|
||||
@@ -1 +1 @@
|
||||
{"hasHotErr":false,"moduleDataArray":[]}
|
||||
{"hasHotErr":false,"moduleDataArray":[{"moduleName":"Lung","modulePicPath":"","modulePos":{"x":0.6,"y":1.85,"z":0.0},"socketPos":{"x":0.005,"y":-0.011,"z":0.0},"indicatorPos":{"x":0.0,"y":0.0,"z":0.0},"waveformType":1,"waveHasError":true,"ignoreWaveCheck":false,"cantStopRunning":false},{"moduleName":"Heart","modulePicPath":"","modulePos":{"x":-4.54,"y":0.92,"z":0.0},"socketPos":{"x":0.005,"y":-0.011,"z":0.0},"indicatorPos":{"x":0.0,"y":0.0,"z":0.0},"waveformType":0,"waveHasError":false,"ignoreWaveCheck":false,"cantStopRunning":false},{"moduleName":"GearBox","modulePicPath":"","modulePos":{"x":-3.259,"y":0.115,"z":0.0},"socketPos":{"x":0.005,"y":-0.011,"z":0.0},"indicatorPos":{"x":0.0,"y":0.0,"z":0.0},"waveformType":0,"waveHasError":false,"ignoreWaveCheck":false,"cantStopRunning":false},{"moduleName":"Liver","modulePicPath":"","modulePos":{"x":1.011,"y":-3.065,"z":0.0},"socketPos":{"x":0.005,"y":-0.011,"z":0.0},"indicatorPos":{"x":0.0,"y":0.0,"z":0.0},"waveformType":0,"waveHasError":false,"ignoreWaveCheck":false,"cantStopRunning":false},{"moduleName":"Stomach","modulePicPath":"","modulePos":{"x":-3.977,"y":-3.819,"z":0.0},"socketPos":{"x":0.005,"y":-0.011,"z":0.0},"indicatorPos":{"x":0.0,"y":0.0,"z":0.0},"waveformType":0,"waveHasError":false,"ignoreWaveCheck":false,"cantStopRunning":false}]}
|
||||
@@ -1 +1,200 @@
|
||||
{"shaftLevelDataArray":[{"shaftName":"Empty Pluggable Shaft3","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.15,"shaftPos":{"x":-1.118,"y":-0.256,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面/变速箱齿轮C"},{"shaftName":"Empty Pluggable Shaft2","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.15,"shaftPos":{"x":-1.087,"y":-0.693,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面/变速箱齿轮C"},{"shaftName":"Empty Pluggable Shaft1","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.15,"shaftPos":{"x":-1.135,"y":0.182,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面/变速箱齿轮C"},{"shaftName":"Pluggable Shaft9","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.18,"shaftPos":{"x":-1.71000111,"y":-0.9590002,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面/变速箱齿轮A"},{"shaftName":"Pluggable Shaft8","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.18,"shaftPos":{"x":-2.59800124,"y":-0.941000164,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面/变速箱齿轮C"},{"shaftName":"Pluggable Shaft7","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.09,"shaftPos":{"x":-2.22800064,"y":-0.453000158,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面/变速箱齿轮C"},{"shaftName":"Pluggable Shaft6","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.18,"shaftPos":{"x":-1.855001,"y":-0.3910001,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面/变速箱齿轮C"},{"shaftName":"Pluggable Shaft5","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.09,"shaftPos":{"x":-2.0,"y":-0.6250002,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面/变速箱齿轮A"},{"shaftName":"Pluggable Shaft4","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.27,"shaftPos":{"x":-2.18600082,"y":-0.08200007,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面/变速箱齿轮A"},{"shaftName":"Pluggable Shaft3","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.18,"shaftPos":{"x":-1.97600079,"y":0.300000042,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面/变速箱齿轮C"},{"shaftName":"Pluggable Shaft2","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.09,"shaftPos":{"x":-1.70600092,"y":0.307999939,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面/变速箱齿轮C"},{"shaftName":"Pluggable Shaft1","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.18,"shaftPos":{"x":-2.40600061,"y":0.295000046,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面/变速箱齿轮C"},{"shaftName":"Driver Shaft","shaftType":0,"initialSpeed":1.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.09,"shaftPos":{"x":-2.188,"y":0.445000023,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面/变速箱齿轮C"},{"shaftName":"Target Shaft","shaftType":1,"initialSpeed":0.0,"targetSpeed":0.3,"hasChildGear":true,"radius":0.27,"shaftPos":{"x":-2.1600008,"y":-0.9610002,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面/变速箱齿轮C"}]}
|
||||
{
|
||||
"shaftLevelDataArray": [
|
||||
{
|
||||
"shaftName": "Empty Pluggable Shaft3",
|
||||
"shaftType": 3,
|
||||
"initialSpeed": 0.0,
|
||||
"targetSpeed": 0.0,
|
||||
"hasChildGear": false,
|
||||
"radius": 0.15,
|
||||
"shaftPos": {
|
||||
"x": -1.118,
|
||||
"y": -0.256,
|
||||
"z": 0.0
|
||||
},
|
||||
"gearPicPath": "Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"
|
||||
},
|
||||
{
|
||||
"shaftName": "Empty Pluggable Shaft2",
|
||||
"shaftType": 3,
|
||||
"initialSpeed": 0.0,
|
||||
"targetSpeed": 0.0,
|
||||
"hasChildGear": false,
|
||||
"radius": 0.15,
|
||||
"shaftPos": {
|
||||
"x": -1.087,
|
||||
"y": -0.693,
|
||||
"z": 0.0
|
||||
},
|
||||
"gearPicPath": "Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"
|
||||
},
|
||||
{
|
||||
"shaftName": "Empty Pluggable Shaft1",
|
||||
"shaftType": 3,
|
||||
"initialSpeed": 0.0,
|
||||
"targetSpeed": 0.0,
|
||||
"hasChildGear": false,
|
||||
"radius": 0.15,
|
||||
"shaftPos": {
|
||||
"x": -1.135,
|
||||
"y": 0.182,
|
||||
"z": 0.0
|
||||
},
|
||||
"gearPicPath": "Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"
|
||||
},
|
||||
{
|
||||
"shaftName": "Pluggable Shaft9",
|
||||
"shaftType": 3,
|
||||
"initialSpeed": 0.0,
|
||||
"targetSpeed": 0.0,
|
||||
"hasChildGear": true,
|
||||
"radius": 0.18,
|
||||
"shaftPos": {
|
||||
"x": -1.71000111,
|
||||
"y": -0.9590002,
|
||||
"z": 0.0
|
||||
},
|
||||
"gearPicPath": "Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮A"
|
||||
},
|
||||
{
|
||||
"shaftName": "Pluggable Shaft8",
|
||||
"shaftType": 3,
|
||||
"initialSpeed": 0.0,
|
||||
"targetSpeed": 0.0,
|
||||
"hasChildGear": false,
|
||||
"radius": 0.18,
|
||||
"shaftPos": {
|
||||
"x": -2.59800124,
|
||||
"y": -0.941000164,
|
||||
"z": 0.0
|
||||
},
|
||||
"gearPicPath": "Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"
|
||||
},
|
||||
{
|
||||
"shaftName": "Pluggable Shaft7",
|
||||
"shaftType": 3,
|
||||
"initialSpeed": 0.0,
|
||||
"targetSpeed": 0.0,
|
||||
"hasChildGear": false,
|
||||
"radius": 0.09,
|
||||
"shaftPos": {
|
||||
"x": -2.22800064,
|
||||
"y": -0.453000158,
|
||||
"z": 0.0
|
||||
},
|
||||
"gearPicPath": "Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"
|
||||
},
|
||||
{
|
||||
"shaftName": "Pluggable Shaft6",
|
||||
"shaftType": 3,
|
||||
"initialSpeed": 0.0,
|
||||
"targetSpeed": 0.0,
|
||||
"hasChildGear": true,
|
||||
"radius": 0.18,
|
||||
"shaftPos": {
|
||||
"x": -1.855001,
|
||||
"y": -0.3910001,
|
||||
"z": 0.0
|
||||
},
|
||||
"gearPicPath": "Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"
|
||||
},
|
||||
{
|
||||
"shaftName": "Pluggable Shaft5",
|
||||
"shaftType": 3,
|
||||
"initialSpeed": 0.0,
|
||||
"targetSpeed": 0.0,
|
||||
"hasChildGear": true,
|
||||
"radius": 0.09,
|
||||
"shaftPos": {
|
||||
"x": -2.0,
|
||||
"y": -0.6250002,
|
||||
"z": 0.0
|
||||
},
|
||||
"gearPicPath": "Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮A"
|
||||
},
|
||||
{
|
||||
"shaftName": "Pluggable Shaft4",
|
||||
"shaftType": 3,
|
||||
"initialSpeed": 0.0,
|
||||
"targetSpeed": 0.0,
|
||||
"hasChildGear": true,
|
||||
"radius": 0.27,
|
||||
"shaftPos": {
|
||||
"x": -2.18600082,
|
||||
"y": -0.08200007,
|
||||
"z": 0.0
|
||||
},
|
||||
"gearPicPath": "Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮A"
|
||||
},
|
||||
{
|
||||
"shaftName": "Pluggable Shaft3",
|
||||
"shaftType": 3,
|
||||
"initialSpeed": 0.0,
|
||||
"targetSpeed": 0.0,
|
||||
"hasChildGear": true,
|
||||
"radius": 0.18,
|
||||
"shaftPos": {
|
||||
"x": -1.97600079,
|
||||
"y": 0.300000042,
|
||||
"z": 0.0
|
||||
},
|
||||
"gearPicPath": "Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"
|
||||
},
|
||||
{
|
||||
"shaftName": "Pluggable Shaft2",
|
||||
"shaftType": 3,
|
||||
"initialSpeed": 0.0,
|
||||
"targetSpeed": 0.0,
|
||||
"hasChildGear": false,
|
||||
"radius": 0.09,
|
||||
"shaftPos": {
|
||||
"x": -1.70600092,
|
||||
"y": 0.307999939,
|
||||
"z": 0.0
|
||||
},
|
||||
"gearPicPath": "Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"
|
||||
},
|
||||
{
|
||||
"shaftName": "Pluggable Shaft1",
|
||||
"shaftType": 3,
|
||||
"initialSpeed": 0.0,
|
||||
"targetSpeed": 0.0,
|
||||
"hasChildGear": true,
|
||||
"radius": 0.18,
|
||||
"shaftPos": {
|
||||
"x": -2.40600061,
|
||||
"y": 0.295000046,
|
||||
"z": 0.0
|
||||
},
|
||||
"gearPicPath": "Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"
|
||||
},
|
||||
{
|
||||
"shaftName": "Driver Shaft",
|
||||
"shaftType": 0,
|
||||
"initialSpeed": 1.0,
|
||||
"targetSpeed": 0.0,
|
||||
"hasChildGear": true,
|
||||
"radius": 0.09,
|
||||
"shaftPos": {
|
||||
"x": -2.188,
|
||||
"y": 0.445000023,
|
||||
"z": 0.0
|
||||
},
|
||||
"gearPicPath": "Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"
|
||||
},
|
||||
{
|
||||
"shaftName": "Target Shaft",
|
||||
"shaftType": 1,
|
||||
"initialSpeed": 0.0,
|
||||
"targetSpeed": 0.3,
|
||||
"hasChildGear": true,
|
||||
"radius": 0.27,
|
||||
"shaftPos": {
|
||||
"x": -2.1600008,
|
||||
"y": -0.9610002,
|
||||
"z": 0.0
|
||||
},
|
||||
"gearPicPath": "Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
{"shaftLevelDataArray":[{"shaftName":"Empty Pluggable Shaft3","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.15,"shaftPos":{"x":-1.118,"y":-0.256,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面/变速箱齿轮C"},{"shaftName":"Empty Pluggable Shaft2","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.15,"shaftPos":{"x":-1.087,"y":-0.693,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面/变速箱齿轮C"},{"shaftName":"Empty Pluggable Shaft1","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.15,"shaftPos":{"x":-1.135,"y":0.182,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面/变速箱齿轮C"},{"shaftName":"Pluggable Shaft9","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.18,"shaftPos":{"x":-1.71000111,"y":-0.9590002,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面/变速箱齿轮A"},{"shaftName":"Pluggable Shaft8","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.18,"shaftPos":{"x":-2.59800124,"y":-0.941000164,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面/变速箱齿轮C"},{"shaftName":"Pluggable Shaft7","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.09,"shaftPos":{"x":-2.22800064,"y":-0.453000158,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面/变速箱齿轮C"},{"shaftName":"Pluggable Shaft6","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.18,"shaftPos":{"x":-1.855001,"y":-0.3910001,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面/变速箱齿轮C"},{"shaftName":"Pluggable Shaft5","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.09,"shaftPos":{"x":-2.0,"y":-0.6250002,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面/变速箱齿轮A"},{"shaftName":"Pluggable Shaft4","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.27,"shaftPos":{"x":-2.18600082,"y":-0.08200007,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面/变速箱齿轮A"},{"shaftName":"Pluggable Shaft3","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.18,"shaftPos":{"x":-1.97600079,"y":0.300000042,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面/变速箱齿轮C"},{"shaftName":"Pluggable Shaft2","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.09,"shaftPos":{"x":-1.70600092,"y":0.307999939,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面/变速箱齿轮C"},{"shaftName":"Pluggable Shaft1","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.18,"shaftPos":{"x":-2.40600061,"y":0.295000046,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面/变速箱齿轮C"},{"shaftName":"Driver Shaft","shaftType":0,"initialSpeed":1.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.09,"shaftPos":{"x":-2.188,"y":0.445000023,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面/变速箱齿轮C"},{"shaftName":"Target Shaft","shaftType":1,"initialSpeed":0.0,"targetSpeed":0.3,"hasChildGear":true,"radius":0.27,"shaftPos":{"x":-2.1600008,"y":-0.9610002,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面/变速箱齿轮C"}]}
|
||||
{"shaftLevelDataArray":[{"shaftName":"Target","shaftType":1,"initialSpeed":0.0,"targetSpeed":0.3,"hasChildGear":true,"radius":1.0,"shaftPos":{"x":6.629,"y":0.684,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Driver","shaftType":0,"initialSpeed":1.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.5,"shaftPos":{"x":4.64,"y":3.33,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮A"},{"shaftName":"Constant","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.5,"shaftPos":{"x":5.973,"y":2.457,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮B"},{"shaftName":"Pluggable","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.5,"shaftPos":{"x":5.516,"y":3.867,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Empty","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.5,"shaftPos":{"x":6.56,"y":4.334,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"}]}
|
||||
@@ -0,0 +1 @@
|
||||
{"shaftLevelDataArray":[{"shaftName":"Pluggable Shaft9","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.18,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-1.69999993,"y":-0.919,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮A"},{"shaftName":"Pluggable Shaft8","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.18,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-2.588,"y":-0.901,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Pluggable Shaft7","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.09,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-2.21799946,"y":-0.413000017,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Pluggable Shaft6","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.18,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-1.84499979,"y":-0.350999951,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱唱片齿轮"},{"shaftName":"Pluggable Shaft5","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.09,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-1.98999882,"y":-0.585000038,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮A"},{"shaftName":"Pluggable Shaft4","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.27,"isGearBroken":true,"isDisc":false,"discIdx":0,"shaftPos":{"x":-2.17599964,"y":-0.04199993,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Pluggable Shaft3","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.18,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-1.9659996,"y":0.340000182,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Pluggable Shaft2","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.09,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-1.70999885,"y":0.348000079,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Pluggable Shaft1","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.18,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-2.39599943,"y":0.3350002,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Driver Shaft","shaftType":0,"initialSpeed":1.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.09,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-2.17799878,"y":0.4850002,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Target Shaft","shaftType":1,"initialSpeed":0.0,"targetSpeed":0.3,"hasChildGear":true,"radius":0.27,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-2.14999962,"y":-0.921000063,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"}],"panelShaftArray":[{"shaftName":"Panel Shaft1","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.18,"isGearBroken":false,"isDisc":true,"discIdx":0,"shaftPos":{"x":-0.019,"y":0.717,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱唱片齿轮"},{"shaftName":"Panel Shaft2","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.27,"isGearBroken":true,"isDisc":false,"discIdx":0,"shaftPos":{"x":-0.011,"y":0.003,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/坏齿轮A"},{"shaftName":"Panel Shaft3","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.0,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-0.011,"y":-0.668,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"}]}
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c21db38b4480c6b45a41503bd5f078e4
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1 @@
|
||||
{"shaftLevelDataArray":[{"shaftName":"Pluggable Shaft9","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.18,"isGearBroken":false,"isDisc":false,"discIdx":3,"shaftPos":{"x":-1.722,"y":-0.904,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮A"},{"shaftName":"Pluggable Shaft8","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.18,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-2.588,"y":-0.892,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Pluggable Shaft7","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.09,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-2.21799946,"y":-0.413000017,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Pluggable Shaft6","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.18,"isGearBroken":false,"isDisc":false,"discIdx":2,"shaftPos":{"x":-1.868,"y":-0.350999951,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱唱片齿轮"},{"shaftName":"Pluggable Shaft5","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.09,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-1.996,"y":-0.582,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮A"},{"shaftName":"Pluggable Shaft4","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.27,"isGearBroken":true,"isDisc":false,"discIdx":0,"shaftPos":{"x":-2.17599964,"y":-0.04199993,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/坏齿轮A"},{"shaftName":"Pluggable Shaft3","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.18,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-1.9659996,"y":0.340000182,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Pluggable Shaft2","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.09,"isGearBroken":false,"isDisc":false,"discIdx":1,"shaftPos":{"x":-1.70999885,"y":0.348000079,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Pluggable Shaft1","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.18,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-2.39599943,"y":0.3350002,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Driver Shaft","shaftType":0,"initialSpeed":1.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.09,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-2.17799878,"y":0.4850002,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Target Shaft","shaftType":1,"initialSpeed":0.0,"targetSpeed":0.3,"hasChildGear":true,"radius":0.27,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-2.156,"y":-0.896,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"}],"panelShaftArray":[{"shaftName":"Panel Shaft1","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.18,"isGearBroken":false,"isDisc":true,"discIdx":0,"shaftPos":{"x":-0.019,"y":0.717,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱唱片齿轮"},{"shaftName":"Panel Shaft2","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.27,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-0.011,"y":0.003,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Panel Shaft3","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.0,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-0.011,"y":-0.668,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"}]}
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4b214c36ca1f2084fa03f508cb369846
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1 +1 @@
|
||||
{"shaftLevelDataArray":[]}
|
||||
{"shaftLevelDataArray":[{"shaftName":"Pluggable Shaft9","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.18,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-1.69999993,"y":-0.919,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮A"},{"shaftName":"Pluggable Shaft8","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.18,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-2.588,"y":-0.901,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Pluggable Shaft7","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.09,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-2.21799946,"y":-0.413000017,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Pluggable Shaft6","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.18,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-1.84499979,"y":-0.350999951,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱唱片齿轮"},{"shaftName":"Pluggable Shaft5","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.09,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-1.98999882,"y":-0.585000038,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮A"},{"shaftName":"Pluggable Shaft4","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.27,"isGearBroken":true,"isDisc":false,"discIdx":0,"shaftPos":{"x":-2.17599964,"y":-0.04199993,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Pluggable Shaft3","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.18,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-1.9659996,"y":0.340000182,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Pluggable Shaft2","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.09,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-1.70999885,"y":0.348000079,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Pluggable Shaft1","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.18,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-2.39599943,"y":0.3350002,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Driver Shaft","shaftType":0,"initialSpeed":1.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.09,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-2.17799878,"y":0.4850002,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Target Shaft","shaftType":1,"initialSpeed":0.0,"targetSpeed":0.3,"hasChildGear":true,"radius":0.27,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-2.14999962,"y":-0.921000063,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"}],"panelShaftArray":[{"shaftName":"Panel Shaft1","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.18,"isGearBroken":false,"isDisc":true,"discIdx":0,"shaftPos":{"x":-0.019,"y":0.717,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱唱片齿轮"},{"shaftName":"Panel Shaft2","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.27,"isGearBroken":true,"isDisc":false,"discIdx":0,"shaftPos":{"x":-0.011,"y":0.003,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/坏齿轮A"},{"shaftName":"Panel Shaft3","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.0,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-0.011,"y":-0.668,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"}]}
|
||||
Reference in New Issue
Block a user