606 lines
21 KiB
C#
606 lines
21 KiB
C#
using System;
|
|
using System.Collections;
|
|
using AibisDream.Framework;
|
|
using UnityEngine;
|
|
|
|
namespace AibisDream.FixSystem
|
|
{
|
|
public class FixStateMachine
|
|
{
|
|
public FixState CurState => _curState.GetState;
|
|
|
|
private IState _curState;
|
|
private string _curArgs;
|
|
|
|
public FixStateMachine()
|
|
{
|
|
// 初始化为一个默认状态
|
|
_curState = CreateState(FixState.Default, "");
|
|
}
|
|
|
|
/// <summary>
|
|
/// 播放诊所到场景的timeline
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
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();
|
|
|
|
_curState = CreateState(nextState, _curArgs);
|
|
|
|
EnumEventSystem.Global.Send(EventEnum.FixStateSwitch, nextState);
|
|
yield return _curState.Enter();
|
|
}
|
|
|
|
public IEnumerator QuitState()
|
|
{
|
|
_curArgs = null;
|
|
yield return _curState?.Exit();
|
|
_curState = null;
|
|
}
|
|
|
|
private static IState CreateState(FixState nextState, string args)
|
|
{
|
|
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(),
|
|
FixState.EmoCut => new EmoCutState(),
|
|
FixState.MemoryCut => new MemoryCutState(),
|
|
FixState.LogicCut => new LogicCutState(),
|
|
_ => new ClinicState()
|
|
};
|
|
|
|
res.SetArgs(args);
|
|
return res;
|
|
}
|
|
}
|
|
|
|
public enum FixState
|
|
{
|
|
Default,
|
|
Clinic,
|
|
BodyModule,
|
|
Memory,
|
|
Eye,
|
|
UF,
|
|
Expression,
|
|
Engine,
|
|
Gear,
|
|
Emo,
|
|
Op,
|
|
EmoCut,
|
|
MemoryCut,
|
|
LogicCut
|
|
}
|
|
|
|
public interface IState
|
|
{
|
|
public FixState GetState { get; }
|
|
public void SetArgs(string args);
|
|
public IEnumerator Enter();
|
|
public IEnumerator Exit();
|
|
}
|
|
|
|
public struct ClinicState : IState
|
|
{
|
|
public FixState GetState => FixState.Clinic;
|
|
|
|
public void SetArgs(string args)
|
|
{
|
|
// 无
|
|
}
|
|
|
|
public IEnumerator Enter()
|
|
{
|
|
// 切换相机
|
|
// yield return CameraKit.Instance.SwitchCamera(CameraEnum.CoolingMachine);
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.Clinic);
|
|
}
|
|
|
|
public IEnumerator Exit()
|
|
{
|
|
// 无
|
|
yield break;
|
|
}
|
|
}
|
|
|
|
public struct BodyModuleState : IState
|
|
{
|
|
private string _args;
|
|
|
|
public FixState GetState => FixState.BodyModule;
|
|
|
|
public void SetArgs(string args)
|
|
{
|
|
// 设置参数
|
|
_args = args;
|
|
}
|
|
|
|
public IEnumerator Enter()
|
|
{
|
|
var bodyModuleSystem = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
|
|
|
// 拔出插头
|
|
bodyModuleSystem.ResetPlug();
|
|
// 切换Body或Head
|
|
if (Enum.TryParse<ModuleState>(_args, out var moduleState))
|
|
{
|
|
bodyModuleSystem.SwitchModuleGroup(moduleState);
|
|
}
|
|
|
|
// 切换相机
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.BodyModule);
|
|
// 开启交互
|
|
bodyModuleSystem.EnableSystem();
|
|
}
|
|
|
|
public IEnumerator Exit()
|
|
{
|
|
var bodyModuleSystem = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
|
// 拔出插头
|
|
bodyModuleSystem.ResetPlug();
|
|
// 关闭交互
|
|
bodyModuleSystem.DisableSystem();
|
|
yield break;
|
|
}
|
|
}
|
|
|
|
|
|
public struct GearState : IState
|
|
{
|
|
public FixState GetState => FixState.Gear;
|
|
|
|
private string _configKey;
|
|
|
|
public void SetArgs(string args)
|
|
{
|
|
_configKey = args;
|
|
}
|
|
|
|
public IEnumerator Enter()
|
|
{
|
|
// 先切BodyModule
|
|
if (!CameraKit.Instance.EqualToCameraState(CameraEnum.BodyModule))
|
|
{
|
|
// 先切BodyModule
|
|
var bodyModule = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
|
bodyModule.SwitchModuleGroup(ModuleState.Body);
|
|
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeInAsync(0.5f);
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.BodyModule);
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeOutAsync(0.5f);
|
|
}
|
|
|
|
// 切换相机
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.Gear);
|
|
// 加载关卡数据
|
|
if (!string.IsNullOrEmpty(_configKey))
|
|
{
|
|
var gearSystem = FixSystemCenter.SystemDic.Get<GearSystem>();
|
|
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<BodyModuleSystem>();
|
|
bodyModule.SwitchModuleGroup(ModuleState.Body);
|
|
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.BodyModule);
|
|
}
|
|
|
|
// 切换相机
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.Engine);
|
|
}
|
|
|
|
public IEnumerator Exit()
|
|
{
|
|
var bodyModuleSystem = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
|
bodyModuleSystem.ResetPlug();
|
|
yield break;
|
|
}
|
|
}
|
|
|
|
public struct UfState : IState
|
|
{
|
|
public FixState GetState => FixState.UF;
|
|
|
|
public void SetArgs(string args)
|
|
{
|
|
}
|
|
|
|
public IEnumerator Enter()
|
|
{
|
|
var bodyModuleSystem = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
|
var ufSystem = FixSystemCenter.SystemDic.Get<UFSystem>();
|
|
var eyeSystem = FixSystemCenter.SystemDic.Get<EyeSystem>();
|
|
// 先切BodyModule
|
|
if (!CameraKit.Instance.EqualToCameraState(CameraEnum.BodyModule))
|
|
{
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.BodyModule);
|
|
}
|
|
|
|
// 插头回到初始插孔
|
|
bodyModuleSystem.ResetPlug();
|
|
// 切换相机
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.UF);
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeInAsync(0.5f);
|
|
ufSystem.OpenUFView();
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.EyeDeep);
|
|
eyeSystem.OnEnter();
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeOutAsync(0.5f);
|
|
}
|
|
|
|
public IEnumerator Exit()
|
|
{
|
|
float duration = 0.5f;
|
|
var ufSystem = FixSystemCenter.SystemDic.Get<UFSystem>();
|
|
var eyeSystem = FixSystemCenter.SystemDic.Get<EyeSystem>();
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeInAsync(duration);
|
|
eyeSystem.OnExit();
|
|
ufSystem.CloseUFView();
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.UF);
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeOutAsync(duration);
|
|
yield return null;
|
|
}
|
|
}
|
|
|
|
public struct EyeState : IState
|
|
{
|
|
public FixState GetState => FixState.Eye;
|
|
|
|
public void SetArgs(string args)
|
|
{
|
|
}
|
|
|
|
public IEnumerator Enter()
|
|
{
|
|
var bodyModuleSystem = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
|
var eyeSystem = FixSystemCenter.SystemDic.Get<EyeSystem>();
|
|
// 先切BodyModule
|
|
if (!CameraKit.Instance.EqualToCameraState(CameraEnum.BodyModule))
|
|
{
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.BodyModule);
|
|
}
|
|
|
|
//打开盖子
|
|
SpriteRenderer sp = bodyModuleSystem.FindBodyModuleByName("Eye").transform.Find("Cover")
|
|
.GetComponent<SpriteRenderer>();
|
|
sp.sprite = Resources.Load<Sprite>("Art/Fix/Peipei/Eye/视觉模块盖子打开A");
|
|
yield return new WaitForSeconds(0.1f);
|
|
sp.sprite = Resources.Load<Sprite>("Art/Fix/Peipei/Eye/视觉模块盖子打开B");
|
|
// 插头回到初始插孔
|
|
bodyModuleSystem.ResetPlug();
|
|
// 切换相机
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.Eye);
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeInAsync(0.5f);
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.EyeDeep);
|
|
eyeSystem.OnEnter();
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeOutAsync(0.5f);
|
|
}
|
|
|
|
public IEnumerator Exit()
|
|
{
|
|
var bodyModuleSystem = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
|
float duration = 0.5f;
|
|
var eyeSystem = FixSystemCenter.SystemDic.Get<EyeSystem>();
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeInAsync(duration);
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.Eye);
|
|
eyeSystem.OnExit();
|
|
yield return new WaitForSeconds(0.1f);
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeOutAsync(duration);
|
|
//关上
|
|
SpriteRenderer sp = bodyModuleSystem.FindBodyModuleByName("Eye").transform.Find("Cover")
|
|
.GetComponent<SpriteRenderer>();
|
|
sp.sprite = Resources.Load<Sprite>("Art/Fix/Peipei/Eye/视觉模块盖子打开A");
|
|
yield return new WaitForSeconds(0.1f);
|
|
sp.sprite = Resources.Load<Sprite>("Art/Fix/Peipei/Eye/视觉模块盖子关闭");
|
|
yield return new WaitForSeconds(0.5f);
|
|
}
|
|
}
|
|
|
|
public struct MemoryState : IState
|
|
{
|
|
public FixState GetState => FixState.Memory;
|
|
|
|
public void SetArgs(string args)
|
|
{
|
|
}
|
|
|
|
public IEnumerator Enter()
|
|
{
|
|
float duration = 0.5f;
|
|
var bodyModuleSystem = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
|
var memorySystem = FixSystemCenter.SystemDic.Get<MemoryProcess>();
|
|
// 先切BodyModule
|
|
if (!CameraKit.Instance.EqualToCameraState(CameraEnum.BodyModule))
|
|
{
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.BodyModule);
|
|
}
|
|
|
|
yield return memorySystem.DropMemoryProjector();
|
|
// 插头回到初始插孔
|
|
bodyModuleSystem.ResetPlug();
|
|
// 相机聚焦到目标位
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.Memory);
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeInAsync(duration);
|
|
memorySystem.OnEnter();
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeOutAsync(duration);
|
|
}
|
|
|
|
public IEnumerator Exit()
|
|
{
|
|
float duration = 0.5f;
|
|
var memorySystem = FixSystemCenter.SystemDic.Get<MemoryProcess>();
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeInAsync(duration);
|
|
memorySystem.OnExit();
|
|
memorySystem.CloseMemoryView();
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeOutAsync(duration);
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.BodyModule);
|
|
memorySystem.PullMemoryProjector();
|
|
}
|
|
}
|
|
public struct ExpressionState : IState
|
|
{
|
|
public FixState GetState => FixState.Expression;
|
|
|
|
public void SetArgs(string args)
|
|
{
|
|
// 无
|
|
}
|
|
|
|
public IEnumerator Enter()
|
|
{
|
|
// 先切BodyModule
|
|
var expressionManager = FixSystemCenter.SystemDic.Get<ExpressionManager>();
|
|
if (!CameraKit.Instance.EqualToCameraState(CameraEnum.BodyModule))
|
|
{
|
|
var bodyModule = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
|
bodyModule.SwitchModuleGroup(ModuleState.Head);
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.BodyModule);
|
|
}
|
|
// 切换相机
|
|
expressionManager.OpenView();
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.Expression);
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeInAsync(0.5f);
|
|
//expressionManager.OpenView();
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.ExpressionDeep);
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeOutAsync(0.5f);
|
|
|
|
}
|
|
|
|
public IEnumerator Exit()
|
|
{
|
|
var expressionManager = FixSystemCenter.SystemDic.Get<ExpressionManager>();
|
|
var bodyModuleSystem = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
|
bodyModuleSystem.ResetPlug();
|
|
expressionManager.CloseView();
|
|
yield break;
|
|
}
|
|
}
|
|
public struct EmoState : IState
|
|
{
|
|
public FixState GetState => FixState.Emo;
|
|
|
|
public void SetArgs(string args)
|
|
{
|
|
}
|
|
|
|
public IEnumerator Enter()
|
|
{
|
|
var emoManager = FixSystemCenter.SystemDic.Get<EmoManager>();
|
|
if (!CameraKit.Instance.EqualToCameraState(CameraEnum.BodyModule))
|
|
{
|
|
var bodyModule = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
|
bodyModule.SwitchModuleGroup(ModuleState.Head);
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.BodyModule);
|
|
}
|
|
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.Emo);
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeInAsync(0.5f);
|
|
emoManager.OpenView();
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.EmoDeep);
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeOutAsync(0.5f);
|
|
}
|
|
|
|
public IEnumerator Exit()
|
|
{
|
|
var emoManager = FixSystemCenter.SystemDic.Get<EmoManager>();
|
|
var bodyModuleSystem = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
|
bodyModuleSystem.ResetPlug();
|
|
emoManager.CloseView();
|
|
yield break;
|
|
}
|
|
}
|
|
public struct OpState : IState
|
|
{
|
|
public FixState GetState => FixState.Op;
|
|
|
|
public void SetArgs(string args)
|
|
{
|
|
// 无
|
|
}
|
|
|
|
public IEnumerator Enter()
|
|
{
|
|
if (!CameraKit.Instance.EqualToCameraState(CameraEnum.Op))
|
|
{
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.Op);
|
|
}
|
|
}
|
|
|
|
public IEnumerator Exit()
|
|
{
|
|
// 无
|
|
yield break;
|
|
}
|
|
}
|
|
public struct EmoCutState : IState
|
|
{
|
|
public FixState GetState => FixState.EmoCut;
|
|
|
|
public void SetArgs(string args)
|
|
{
|
|
// 无
|
|
}
|
|
|
|
public IEnumerator Enter()
|
|
{
|
|
var bodyModuleSystem = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
|
var cuttingManager = FixSystemCenter.SystemDic.Get<CuttingManager>();
|
|
if (!CameraKit.Instance.EqualToCameraState(CameraEnum.BodyModule))
|
|
{
|
|
bodyModuleSystem.SwitchModuleGroup(ModuleState.Head);
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.BodyModule);
|
|
}
|
|
bodyModuleSystem.CableSystem.ResetPlug();
|
|
var bodyModule=bodyModuleSystem.FindBodyModuleByName("Emo");
|
|
if(bodyModule!=null)
|
|
{
|
|
bodyModule.GetCutSpriteRenderer().sortingOrder=100;
|
|
bodyModule.GetCutSpriteRenderer().color=new Color(1f,1f,1f,1f);
|
|
bodyModule.GetCutSpriteRenderer().GetComponentInChildren<SpriteRenderer>().color=new Color(1f,1f,1f,1f);
|
|
}
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.CutEmo);
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeInAsync(0.1f);
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.CutEmoDeep);
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeOutAsync(0.1f);
|
|
cuttingManager.StartCutting(bodyModule);
|
|
|
|
|
|
|
|
}
|
|
|
|
public IEnumerator Exit()
|
|
{
|
|
// 无
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeInAsync(0.1f);
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.CutEmo);
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeOutAsync(0.1f);
|
|
}
|
|
}
|
|
public struct MemoryCutState : IState
|
|
{
|
|
public FixState GetState => FixState.MemoryCut;
|
|
|
|
public void SetArgs(string args)
|
|
{
|
|
// 无
|
|
}
|
|
|
|
public IEnumerator Enter()
|
|
{
|
|
var bodyModuleSystem = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
|
var cuttingManager = FixSystemCenter.SystemDic.Get<CuttingManager>();
|
|
if (!CameraKit.Instance.EqualToCameraState(CameraEnum.BodyModule))
|
|
{
|
|
bodyModuleSystem.SwitchModuleGroup(ModuleState.Head);
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.BodyModule);
|
|
}
|
|
bodyModuleSystem.CableSystem.ResetPlug();
|
|
var bodyModule=bodyModuleSystem.FindBodyModuleByName("Memory");
|
|
if(bodyModule!=null)
|
|
{
|
|
bodyModule.GetCutSpriteRenderer().sortingOrder=100;
|
|
bodyModule.GetCutSpriteRenderer().color=new Color(1f,1f,1f,1f);
|
|
bodyModule.GetCutSpriteRenderer().GetComponentInChildren<SpriteRenderer>().color=new Color(1f,1f,1f,1f);
|
|
}
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.CutMemory);
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeInAsync(0.1f);
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.CutMemoryDeep);
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeOutAsync(0.1f);
|
|
cuttingManager.StartCutting(bodyModule);
|
|
|
|
|
|
}
|
|
|
|
|
|
public IEnumerator Exit()
|
|
{
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeInAsync(0.1f);
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.CutMemory);
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeOutAsync(0.1f);
|
|
}
|
|
}
|
|
public struct LogicCutState : IState
|
|
{
|
|
public FixState GetState => FixState.LogicCut;
|
|
|
|
public void SetArgs(string args)
|
|
{
|
|
// 无
|
|
}
|
|
|
|
public IEnumerator Enter()
|
|
{
|
|
var cuttingManager = FixSystemCenter.SystemDic.Get<CuttingManager>();
|
|
var bodyModuleSystem = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
|
if (!CameraKit.Instance.EqualToCameraState(CameraEnum.BodyModule))
|
|
{
|
|
bodyModuleSystem.SwitchModuleGroup(ModuleState.Head);
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.BodyModule);
|
|
}
|
|
bodyModuleSystem.CableSystem.ResetPlug();
|
|
var bodyModule=bodyModuleSystem.FindBodyModuleByName("Logic");
|
|
if(bodyModule!=null)
|
|
{
|
|
bodyModule.GetCutSpriteRenderer().sortingOrder=100;
|
|
bodyModule.GetCutSpriteRenderer().color=new Color(1f,1f,1f,1f);
|
|
bodyModule.GetCutSpriteRenderer().GetComponentInChildren<SpriteRenderer>().color=new Color(1f,1f,1f,1f);
|
|
}
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.CutLogic);
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeInAsync(0.1f);
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.CutLogicDeep);
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeOutAsync(0.1f);
|
|
cuttingManager.StartCutting(bodyModule);
|
|
|
|
}
|
|
|
|
public IEnumerator Exit()
|
|
{
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeInAsync(0.1f);
|
|
yield return CameraKit.Instance.SwitchCamera(CameraEnum.CutLogic);
|
|
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeOutAsync(0.1f);
|
|
}
|
|
}
|
|
|
|
}
|
|
|