Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 public void Cancel()
 {
     Step = MoveToTargetAndAttackActionStep.Pendding;
 }
Ejemplo n.º 3
0
 public void Init()
 {
     Step = MoveToTargetAndAttackActionStep.Pendding;
 }