新增切割状态
This commit is contained in:
@@ -63,6 +63,9 @@ namespace AibisDream.FixSystem
|
||||
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()
|
||||
};
|
||||
|
||||
@@ -83,7 +86,10 @@ namespace AibisDream.FixSystem
|
||||
Engine,
|
||||
Gear,
|
||||
Emo,
|
||||
Op
|
||||
Op,
|
||||
EmoCut,
|
||||
MemoryCut,
|
||||
LogicCut
|
||||
}
|
||||
|
||||
public interface IState
|
||||
@@ -467,5 +473,94 @@ namespace AibisDream.FixSystem
|
||||
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>();
|
||||
if (!CameraKit.Instance.EqualToCameraState(CameraEnum.BodyModule))
|
||||
{
|
||||
var bodyModule = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
||||
bodyModule.SwitchModuleGroup(ModuleState.Head);
|
||||
yield return CameraKit.Instance.SwitchCamera(CameraEnum.BodyModule);
|
||||
}
|
||||
bodyModuleSystem.CableSystem.ResetPlug();
|
||||
yield return CameraKit.Instance.SwitchCamera(CameraEnum.CutEmo);
|
||||
bodyModuleSystem.FindBodyModuleByName("Emo").EnableCut();
|
||||
}
|
||||
|
||||
public IEnumerator Exit()
|
||||
{
|
||||
// 无
|
||||
yield break;
|
||||
}
|
||||
}
|
||||
public struct MemoryCutState : IState
|
||||
{
|
||||
public FixState GetState => FixState.MemoryCut;
|
||||
|
||||
public void SetArgs(string args)
|
||||
{
|
||||
// 无
|
||||
}
|
||||
|
||||
public IEnumerator Enter()
|
||||
{
|
||||
var bodyModuleSystem = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
||||
if (!CameraKit.Instance.EqualToCameraState(CameraEnum.BodyModule))
|
||||
{
|
||||
var bodyModule = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
||||
bodyModule.SwitchModuleGroup(ModuleState.Head);
|
||||
yield return CameraKit.Instance.SwitchCamera(CameraEnum.BodyModule);
|
||||
}
|
||||
bodyModuleSystem.CableSystem.ResetPlug();
|
||||
yield return CameraKit.Instance.SwitchCamera(CameraEnum.CutMemory);
|
||||
bodyModuleSystem.FindBodyModuleByName("Memory").EnableCut();
|
||||
}
|
||||
|
||||
|
||||
public IEnumerator Exit()
|
||||
{
|
||||
// 无
|
||||
yield break;
|
||||
}
|
||||
}
|
||||
public struct LogicCutState : IState
|
||||
{
|
||||
public FixState GetState => FixState.LogicCut;
|
||||
|
||||
public void SetArgs(string args)
|
||||
{
|
||||
// 无
|
||||
}
|
||||
|
||||
public IEnumerator Enter()
|
||||
{
|
||||
var bodyModuleSystem = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
||||
if (!CameraKit.Instance.EqualToCameraState(CameraEnum.BodyModule))
|
||||
{
|
||||
var bodyModule = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
||||
bodyModule.SwitchModuleGroup(ModuleState.Head);
|
||||
yield return CameraKit.Instance.SwitchCamera(CameraEnum.BodyModule);
|
||||
}
|
||||
bodyModuleSystem.CableSystem.ResetPlug();
|
||||
yield return CameraKit.Instance.SwitchCamera(CameraEnum.CutLogic);
|
||||
bodyModuleSystem.FindBodyModuleByName("Logic").EnableCut();
|
||||
}
|
||||
|
||||
public IEnumerator Exit()
|
||||
{
|
||||
// 无
|
||||
yield break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user