public void ChangePlayerState(PlayerState ps) { currentState = ps; switch (currentState) { case PlayerState.Active: // Resume game ph.health.current = ph.health.max; transform.rotation = Quaternion.Euler(0, transform.rotation.y, 0); pc.rb.constraints = RigidbodyConstraints.FreezeRotation; pc.enabled = true; wh.CurrentWeapon().enabled = true; wh.enabled = true; break; case PlayerState.Dead: // Game is lost, display fail menu pc.rb.constraints = RigidbodyConstraints.None; pc.enabled = false; wh.CurrentWeapon().enabled = false; wh.enabled = false; //gsh.ChangeGameState(GameState.Failed); gsh.FailGame(); break; case PlayerState.InMenus: pc.enabled = false; wh.CurrentWeapon().enabled = false; wh.enabled = false; gsh.PauseGame(); //gsh.ChangeGameState(GameState.Paused); break; default: break; } }