//움직임 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; } }
void ChangeMoveState(PlayerAIMoveState _aiState, float _changeTime = 0) { aiMoveState = _aiState; ResetAIStateTime(aiMoveState, _changeTime); }
void ChangeMoveState() { aiMoveState = (PlayerAIMoveState)Random.Range(0, 4); ResetAIStateTime(aiMoveState); }