From cc16f23a93a96aece8b4e8f0c2cba56d9cd9af64 Mon Sep 17 00:00:00 2001 From: Ding Yuntian <1491671119@qq.com> Date: Fri, 21 Feb 2025 14:23:42 +0800 Subject: [PATCH] =?UTF-8?q?timeline=E6=8C=87=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Scripts/FixSystemNew/FixStateMachine.cs | 25 +++++++++++++------ .../FixSystemNew/FixSystemYarnCommand.cs | 6 +++++ 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/Assets/Scripts/FixSystemNew/FixStateMachine.cs b/Assets/Scripts/FixSystemNew/FixStateMachine.cs index 29128ec49..674a5514d 100644 --- a/Assets/Scripts/FixSystemNew/FixStateMachine.cs +++ b/Assets/Scripts/FixSystemNew/FixStateMachine.cs @@ -10,16 +10,27 @@ namespace AibisDream.FixSystem private IState _curState; private string _curArgs; + public FixStateMachine() { - // 初始化为一个默认状态 - _curState = CreateState(FixState.Default, ""); - } + // 初始化为一个默认状态 + _curState = CreateState(FixState.Default, ""); + } + + /// + /// 播放诊所到场景的timeline + /// + /// + public IEnumerator PlayClinicCut() + { + yield return CameraKit.Instance.SwitchCamera(CameraEnum.CoolingMachine); + yield return TimelineManager.Instance.PlayTimeline("ToBodyModule"); + } public IEnumerator SwitchState(FixState nextState, string args = "") { if (CurState == nextState) yield break; - + _curArgs = args; yield return _curState?.Exit(); @@ -28,8 +39,7 @@ namespace AibisDream.FixSystem // if (_curState.GetState == FixState.Clinic && nextState == FixState.BodyModule) // { // // 仅在从 Clinic 到 BodyModule 时执行这两行 - // yield return CameraKit.Instance.SwitchCamera(CameraEnum.CoolingMachine); - // yield return TimelineManager.Instance.PlayTimeline("ToBodyModule"); + // // } GameLoopManager.Instance?.UpdateFixState(nextState, _curArgs); @@ -141,7 +151,7 @@ namespace AibisDream.FixSystem yield break; } } - + public struct GearState : IState { @@ -266,6 +276,7 @@ namespace AibisDream.FixSystem { yield return CameraKit.Instance.SwitchCamera(CameraEnum.BodyModule); } + // 插头回到初始插孔 bodyModuleSystem.ResetPlug(); // 切换相机 diff --git a/Assets/Scripts/FixSystemNew/FixSystemYarnCommand.cs b/Assets/Scripts/FixSystemNew/FixSystemYarnCommand.cs index 202b3d014..571d4de31 100644 --- a/Assets/Scripts/FixSystemNew/FixSystemYarnCommand.cs +++ b/Assets/Scripts/FixSystemNew/FixSystemYarnCommand.cs @@ -19,5 +19,11 @@ namespace AibisDream.FixSystem yield return FixSystemCenter.StateMachine.SwitchState(targetState, extraArg); } + + [YarnCommand("play_clinic_cut")] + public static IEnumerator PlayClinicCut() + { + yield return FixSystemCenter.StateMachine.PlayClinicCut(); + } } } \ No newline at end of file