示例#1
0
    void Update()
    {
        switch (_state)
        {
        case WarriorState.Idle:
            _state = WarriorState.FindTarget;
            break;

        case WarriorState.FindTarget:
            var target = FindEnemy();
            if (target)
            {
                _target.SetTarget(target.gameObject);
                _state        = WarriorState.MovingToTarget;
                _goTo.enabled = true;
            }

            break;

        case WarriorState.MovingToTarget:
            if (!_target.HasTarget())
            {
                _goTo.enabled = false;
                _state        = WarriorState.Idle;
            }

            break;
        }
    }