From f7c29ed260fd637125df2f01aab139ac769772c7 Mon Sep 17 00:00:00 2001 From: Ding Yuntian <1491671119@qq.com> Date: Fri, 6 Mar 2026 15:30:32 +0800 Subject: [PATCH] =?UTF-8?q?feat(fix-system):=20=E6=B7=BB=E5=8A=A0=E7=BB=B4?= =?UTF-8?q?=E4=BF=AE=E9=9D=A2=E6=9D=BF=E7=B3=BB=E7=BB=9F=E5=90=AF=E5=8A=A8?= =?UTF-8?q?=E5=8D=8F=E8=B0=83=E4=B8=8E=E7=81=AF=E5=85=89=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made-with: Cursor --- .../Scripts/FixSystemNew/FixStateMachine.cs | 86 +------------------ .../Screen System/Core/FixPanelSystem.cs | 28 ++++++ 2 files changed, 31 insertions(+), 83 deletions(-) diff --git a/Assets/Scripts/FixSystemNew/FixStateMachine.cs b/Assets/Scripts/FixSystemNew/FixStateMachine.cs index 7f11207ed..630b9937d 100644 --- a/Assets/Scripts/FixSystemNew/FixStateMachine.cs +++ b/Assets/Scripts/FixSystemNew/FixStateMachine.cs @@ -49,12 +49,10 @@ namespace AibisDream.FixSystem IState res = nextState switch { FixState.Clinic => new ClinicState(), - FixState.Engine => new EngineState(), FixState.BodyModule => new BodyModuleState(), FixState.Memory => new MemoryState(), FixState.Eye => new EyeState(), FixState.UF => new UfState(), - FixState.Gear => new GearState(), FixState.Expression => new ExpressionState(), FixState.Emo => new EmoState(), FixState.Op => new OpState(), @@ -191,81 +189,6 @@ namespace AibisDream.FixSystem } } - public struct GearState : IState - { - public FixState GetState => FixState.Gear; - - private string _configKey; - - public void SetArgs(string args) - { - _configKey = args; - } - - public IEnumerator Enter() - { - yield return UIManager.Instance.GetPanel().FadeInAsync(0.5f); - // 先切BodyModule - if (!CameraKit.Instance.EqualToCameraState(CameraEnum.BodyModule)) - { - // 先切BodyModule - var bodyModule = FixSystemCenter.SystemDic.Get(); - bodyModule.SwitchModuleGroup(ModuleState.Body); - yield return CameraKit.Instance.SwitchCamera(CameraEnum.BodyModule); - } - - // 切换相机 - yield return CameraKit.Instance.SwitchCamera(CameraEnum.Gear); - yield return UIManager.Instance.GetPanel().FadeOutAsync(0.5f); - // 加载关卡数据 - if (!string.IsNullOrEmpty(_configKey)) - { - var gearSystem = FixSystemCenter.SystemDic.Get(); - gearSystem.CurDataKey = _configKey; - gearSystem.LoadLevel(); - } - } - - public IEnumerator Exit() - { - yield break; - } - } - - public struct EngineState : IState - { - public FixState GetState => FixState.Engine; - - public void SetArgs(string args) - { - // 无 - } - - public IEnumerator Enter() - { - // 先切BodyModule - if (!CameraKit.Instance.EqualToCameraState(CameraEnum.BodyModule)) - { - var bodyModule = FixSystemCenter.SystemDic.Get(); - bodyModule.SwitchModuleGroup(ModuleState.Body); - - yield return CameraKit.Instance.SwitchCamera(CameraEnum.BodyModule); - } - - yield return UIManager.Instance.GetPanel().FadeInAsync(0.5f); - // 切换相机 - yield return CameraKit.Instance.SwitchCamera(CameraEnum.Engine); - yield return UIManager.Instance.GetPanel().FadeOutAsync(0.5f); - } - - public IEnumerator Exit() - { - var bodyModuleSystem = FixSystemCenter.SystemDic.Get(); - FixPanelSystem.GetRepairPanel().ResetPlug(); - yield break; - } - } - public struct UfState : IState { public FixState GetState => FixState.UF; @@ -276,7 +199,6 @@ namespace AibisDream.FixSystem public IEnumerator Enter() { - var bodyModuleSystem = FixSystemCenter.SystemDic.Get(); var ufSystem = FixSystemCenter.SystemDic.Get(); var eyeSystem = FixSystemCenter.SystemDic.Get(); // 先切BodyModule @@ -308,7 +230,6 @@ namespace AibisDream.FixSystem ufSystem.CloseUFView(); yield return CameraKit.Instance.SwitchCamera(CameraEnum.UF); yield return UIManager.Instance.GetPanel().FadeOutAsync(duration); - yield return null; } } @@ -753,21 +674,20 @@ namespace AibisDream.FixSystem public struct BlockPuzzleState : IState { - private string _puzzleName; + private const string puzzleName = "Game2"; public FixState GetState => FixState.BlockPuzzle; public void SetArgs(string args) { - _puzzleName = args; } public IEnumerator Enter() { yield return CameraKit.Instance.SwitchCamera(CameraEnum.BlockPuzzle); - if (!string.IsNullOrEmpty(_puzzleName)) + if (!string.IsNullOrEmpty(puzzleName)) { - BlockPuzzleYarnCommand.InitBlockPuzzle(_puzzleName); + BlockPuzzleYarnCommand.InitBlockPuzzle(puzzleName); } } diff --git a/Assets/Scripts/FixSystemNew/Screen System/Core/FixPanelSystem.cs b/Assets/Scripts/FixSystemNew/Screen System/Core/FixPanelSystem.cs index 023435f5e..817fad76a 100644 --- a/Assets/Scripts/FixSystemNew/Screen System/Core/FixPanelSystem.cs +++ b/Assets/Scripts/FixSystemNew/Screen System/Core/FixPanelSystem.cs @@ -3,6 +3,7 @@ using AibisDream.Kit; using UnityEngine; using Cinemachine; using System.Collections; +using DG.Tweening; namespace AibisDream.FixSystem { @@ -108,6 +109,33 @@ namespace AibisDream.FixSystem [Header("默认画布")] [SerializeField] private Canvas canvas; + [Header("面板中心点")] + [SerializeField] private Transform panelCenter; + public Transform PanelCenter => panelCenter; + + [Header("全景遮罩")] + [SerializeField] private SpriteRenderer mask; + + /// + /// 遮罩淡入(从当前透明度过渡到不透明) + /// + /// 淡入时长(秒) + public Tween MaskFadeIn(float duration = 0.5f) + { + if (mask == null) return null; + return mask.DOFade(1f, duration).SetEase(Ease.Linear); + } + + /// + /// 遮罩淡出(从当前透明度过渡到透明) + /// + /// 淡出时长(秒) + public Tween MaskFadeOut(float duration = 0.5f) + { + if (mask == null) return null; + return mask.DOFade(0f, duration).SetEase(Ease.Linear); + } + [Header("任务面板")] [SerializeField] private TaskPanel taskPanel; public TaskPanel TaskPanel => taskPanel;