public void SetState(eDragonState eDragonState) { switch (eDragonState) { case eDragonState.Idle: DragonStateContext.SetState(new DragonState_Idle(this)); break; case eDragonState.Move: DragonStateContext.SetState(new DragonState_Move(this)); break; case eDragonState.ReadyJump: DragonStateContext.SetState(new DragonState_ReadyJump(this)); break; case eDragonState.Jump: DragonStateContext.SetState(new DragonState_Jump(this)); break; case eDragonState.Hot: DragonStateContext.SetState(new DragonState_Hot(this)); break; case eDragonState.Injurd: DragonStateContext.SetState(new DragonState_Injurd(this)); break; case eDragonState.Dead: DragonStateContext.SetState(new DragonState_Dead(this)); break; } }
void Update() { DragonStateContext.StateUpdate(); State = DragonStateContext.GetState(); }