diff --git a/Assets/Scripts/FixSystemNew/BodyModule/BodyModule.cs b/Assets/Scripts/FixSystemNew/BodyModule/BodyModule.cs index f03136b02..be87ea634 100644 --- a/Assets/Scripts/FixSystemNew/BodyModule/BodyModule.cs +++ b/Assets/Scripts/FixSystemNew/BodyModule/BodyModule.cs @@ -59,7 +59,7 @@ namespace AibisDream.FixSystem public void PlugIn() { - if (DialogController.Instance != null) + if (DialogController.Instance) // 然后触发Yarn节点 DialogController.Instance.StartDialogNode(_bodyModuleSystem.inHotErr ? "系统过热" : data.PlugInNodeName); } @@ -71,6 +71,14 @@ namespace AibisDream.FixSystem // TODO 触发Yarn节点(似乎目前没有拔出对话?) } + + public void DeepIn() + { + if(DialogController.Instance) + DialogController.Instance.StartDialogNode(data.DeepInNodeName); + } + + public Vector3 GetSocketPos() { diff --git a/Assets/Scripts/FixSystemNew/BodyModule/BodyModuleSystem.cs b/Assets/Scripts/FixSystemNew/BodyModule/BodyModuleSystem.cs index 3c95efb08..28cb38437 100644 --- a/Assets/Scripts/FixSystemNew/BodyModule/BodyModuleSystem.cs +++ b/Assets/Scripts/FixSystemNew/BodyModule/BodyModuleSystem.cs @@ -191,6 +191,14 @@ namespace AibisDream.FixSystem CableSystem.ResetPlug(); } + public void HandleDeepIn() + { + if (CableSystem.curBodyModule) + { + CableSystem.curBodyModule.DeepIn(); + } + } + #region 数据加载与保存 public override string GetConfigPath() diff --git a/Assets/Scripts/FixSystemNew/BodyModule/OscilloscopeSystem.cs b/Assets/Scripts/FixSystemNew/BodyModule/OscilloscopeSystem.cs index 1233381a3..581cd8cb2 100644 --- a/Assets/Scripts/FixSystemNew/BodyModule/OscilloscopeSystem.cs +++ b/Assets/Scripts/FixSystemNew/BodyModule/OscilloscopeSystem.cs @@ -12,6 +12,7 @@ namespace AibisDream.FixSystem private TMP_Text _state; // 显示状态的TextMeshPro组件 private TMP_Text _screenText;// 显示消息的TextMeshPro组件 private SpriteButton _deepinButton; + private BodyModuleSystem _bodyModuleSystem; #endregion @@ -35,6 +36,8 @@ namespace AibisDream.FixSystem _state = transform.Find("Screen State Text").GetComponent(); _deepinButton = new SpriteButton(transform.Find("Deepin Button").gameObject, false); MessageBoxSetNull(); + + _deepinButton.OnButtonDown += HandleDeepInButtonClick; } private void Update() @@ -50,6 +53,11 @@ namespace AibisDream.FixSystem // _screenText.color = Color.white; // 默认文本颜色 } + private void HandleDeepInButtonClick() + { + _bodyModuleSystem.HandleDeepIn(); + } + public void MessageBoxSetWarning() { _state.text = "警告";