void Update() { if (_photonView.isMine == true) { switch (CharacterState) { case CharacterMovingStates.Idle: ResetSpeedValues(); if (Input.GetAxis("Vertical") > 0.05f || Input.GetAxis("Vertical") < -0.05f || Input.GetAxis("Horizontal") > 0.05f || Input.GetAxis("Horizontal") < -0.05f) { CharacterState = CharacterMovingStates.Running; } if (Input.GetKeyDown("c")) { CharacterState = CharacterMovingStates.Crowl; } UpdateRotationAndMovement(); UpdateJumpMovement(); MoveCharacterController(); break; case CharacterMovingStates.Running: ResetSpeedValues(); if (Input.GetAxis("Vertical") < 0.05f && Input.GetAxis("Vertical") > -0.05f && Input.GetAxis("Horizontal") < 0.05f && Input.GetAxis("Horizontal") > -0.05f) { CharacterState = CharacterMovingStates.Idle; } if (Input.GetKeyDown("c")) { CharacterState = CharacterMovingStates.Crowl; } UpdateRotationAndMovement(); UpdateJumpMovement(); MoveCharacterController(); break; case CharacterMovingStates.Climbing: ResetSpeedValues(); UpdateClimbingMovement(); MoveCharacterController(); break; case CharacterMovingStates.Crowl: ResetSpeedValues(); ApplyCrowlModifier(); UpdateRotationAndMovement(); MoveCharacterController(); if (Input.GetKeyDown("c")) { GetBackToNormalAfterCrowl(); CharacterState = CharacterMovingStates.Idle; } break; } ApplySynchronizedValues(); } UpdateAnimation(); }
void SwitchState(CharacterMovingStates state) { CharacterState = state; }