public bool Update() { switch (Step) { case MoveToTargetAndAttackActionStep.Pendding: if (IsCloseToTarget() == false) { Step = MoveToTargetAndAttackActionStep.MoveToTarget; } else { Step = MoveToTargetAndAttackActionStep.Attack; } break; case MoveToTargetAndAttackActionStep.MoveToTarget: if (IsCloseToTarget() == false) { MoveToTarget(Time.deltaTime); } else { Step = MoveToTargetAndAttackActionStep.Attack; } break; case MoveToTargetAndAttackActionStep.Attack: if (animationTimer == 0) { FireSystem.SwordAttack(Target); } else if (animationTimer > 0.5) { Step = MoveToTargetAndAttackActionStep.End; return(true); } animationTimer += Time.deltaTime; break; } return(false); }
public void Cancel() { Step = MoveToTargetAndAttackActionStep.Pendding; }
public void Init() { Step = MoveToTargetAndAttackActionStep.Pendding; }