public void Play(float deltaTime) { var sess = BattleProcedure.CurSession; switch (_stage) { case 1: _stage = 0; if (_targetUid != 0) { var target = sess.Field.FindUnit(_targetUid); _unit.TurnToGrid(target.CurCoord, () => { _stage = 2; }); } else { _stage = 2; } break; case 2: _stage = 0; _unit.PlayAnimation(_animName, () => { _stage = 3; }); break; case 3: if (_targetUid != 0) { _unit.TurnToDirection(_unit.Direction, () => { bCompleted = true; }); } else { bCompleted = true; } break; default: break; } }
public void Play(float deltaTime) { _time += deltaTime; switch (_stage) { case 1: { _stage = 0; _unit.TurnToDirection(_direction, () => { _stage = 2; }); } break; case 2: { _stage = 0; _unit.MoveToGrid(BattleProcedure.CurSession.Map.GetAdjacentCoord(_unit.CurViewCoord, _direction), () => { bCompleted = true; }); } break; default: break; } }