Esempio n. 1
0
        private void UpdateMove()
        {
            if (CanMove() == false)
            {
                StopMove();
                return;
            }

            var isRight = CheckTargetRight();

            switch (_currentAiActionType)
            {
            case AiActionType.MoveNear:
            {
                var distance = CalcTragetDistance();
                if (distance < DistanceMin)
                {
                    _currentAiActionType = AiActionType.Idle;
                }
                else
                {
                    Move(isRight);
                }
            }
            break;

            case AiActionType.MoveFar:
                Move(!isRight);
                break;

            default:
                StopMove();
                break;
            }
        }
Esempio n. 2
0
        private void PlayAiAction(AiActionType type)
        {
            _currentAiActionType = type;

            switch (type)
            {
            case AiActionType.Idle:
                LookAtTarget();
                break;

            case AiActionType.MoveNear:
            case AiActionType.MoveFar:
                UpdateMove();
                break;

            case AiActionType.AttackCombo1:
                LookAtTarget();
                AttackCombo(1);
                break;

            case AiActionType.AttackCombo3:
                LookAtTarget();
                AttackCombo(3);
                break;

            case AiActionType.Appeal:
                LookAtTarget();
                AppealNormal();
                break;
            }
        }