Exemplo n.º 1
0
    private void Update()
    {
        switch (_state)
        {
        case PersonState.Moving:
        {
            MoveTo(target.transform.localPosition, 2.5f);
            if (GetDistance(target.transform.localPosition) <= 4f)
            {
                _state = PersonState.Talking;
            }
        }
        break;

        case PersonState.Retreating:
        {
            MoveTo(startPosition, 3.5f);
            if (GetDistance(startPosition) <= 0.5f)
            {
                _state = PersonState.Moving;
            }
        }
        break;

        case PersonState.Talking:
        {
            controller.TalkingTimer();
            if (GetDistance(target.transform.localPosition) >= 4f)
            {
                _state = PersonState.Moving;
            }
        }
        break;

        case PersonState.Stationary:
        {
        }
        break;

        default:
            _state = PersonState.Stationary;
            break;
        }
    }