public static void ChangeMovingState(MovingStates newState) { //if (newState != MovingState) //{ //StopState switch (MovingState) { case (MovingStates.Walking): break; case (MovingStates.Running): break; case (MovingStates.Crouching): m_Movement.StandUp(); break; } switch (newState) { case (MovingStates.Walking): MovingState = MovingStates.Walking; m_Movement.StandUp(); m_Movement.Walk(); SetAnimation(AnimationStates.Idle); break; case (MovingStates.Running): if (CombatState != CombatStates.Reloading && CombatState != CombatStates.Shooting) { if (m_Gun.ActiveGun) { PutGunDown(); } SetAnimation(AnimationStates.Run); } MovingState = MovingStates.Running; m_Movement.StandUp(); m_Movement.Run(); break; case (MovingStates.Crouching): MovingState = MovingStates.Crouching; m_Movement.Crouch(); break; } //} }
// Update is called once per frame void Update() { switch (movingState) { case MovingStates.travelling: if (Vector3.Distance(platform.transform.position, targetPoint.transform.position) > 0) { float step = speed * Time.deltaTime; //don't move platform.transform.position = Vector3.MoveTowards(transform.position, targetPoint.transform.position, step); } else { movingState = MovingStates.sedentary; } break; case MovingStates.sedentary: break; } }
public void DisableAction() { movingState = MovingStates.travelling; targetPoint = initialPoint; }
public void EnableAction() { movingState = MovingStates.travelling; targetPoint = secondPoint; }