Exemplo n.º 1
0
    //움직임
    void ResetAIStateTime(PlayerAIMoveState _aiState, float _changeTime = 0)
    {
        aiMoveStateTime = 0;
        switch (_aiState)
        {
        case PlayerAIMoveState.Idle:

            controller.SetDir(0, 0);

            if (_changeTime > 0f)
            {
                changeMoveStateTime = _changeTime;
            }
            else
            {
                changeMoveStateTime = 2f;
            }
            break;

        case PlayerAIMoveState.Move:

            targetPos = GetRandomPos();
            controller.SetTarget(targetPos);

            if (_changeTime > 0f)
            {
                changeMoveStateTime = _changeTime;
            }
            else
            {
                changeMoveStateTime = 2f;
            }
            break;

        case PlayerAIMoveState.Doge:
            if (_changeTime > 0f)
            {
                changeMoveStateTime = _changeTime;
            }
            else
            {
                changeMoveStateTime = 0.1f;
            }
            break;

        case PlayerAIMoveState.Jump:

            targetPos = GetRandomPos();
            controller.SetTarget(targetPos);

            controller.Jump();
            changeMoveStateTime = 999f;
            break;
        }
    }
Exemplo n.º 2
0
 void ChangeMoveState(PlayerAIMoveState _aiState, float _changeTime = 0)
 {
     aiMoveState = _aiState;
     ResetAIStateTime(aiMoveState, _changeTime);
 }
Exemplo n.º 3
0
 void ChangeMoveState()
 {
     aiMoveState = (PlayerAIMoveState)Random.Range(0, 4);
     ResetAIStateTime(aiMoveState);
 }