public PlayGameState( GameStateMachine stateMachine )
        : base(stateMachine)
    {
        foreach( UIView v in UIManager.Instance.Views )
        {
            if( v is GameView )
            {
                view = v as GameView;
            }
        }

        playerStateMachine = GameObject.FindObjectOfType<PlayerStateMachine>() as PlayerStateMachine;
        environmentStateMachine = GameObject.FindObjectOfType<EnvironmentStateMachine>() as EnvironmentStateMachine;
    }
    public MainMenuGameState( GameStateMachine stateMachine )
        : base(stateMachine)
    {
        foreach( UIView v in UIManager.Instance.Views )
        {
            if( v is MainMenu )
            {
                view = v as MainMenu;
            }
        }

        playerController = GameObject.FindObjectOfType<PlayerController>() as PlayerController;

        playerStateMachine = GameObject.FindObjectOfType<PlayerStateMachine>() as PlayerStateMachine;
        environmentStateMachine = GameObject.FindObjectOfType<EnvironmentStateMachine>() as EnvironmentStateMachine;

        initialPlayerPosition = playerController.transform.position;
        initialPlayerRotation = playerController.transform.rotation;
    }
 public PlayerDeadState( PlayerStateMachine stateMachine )
     : base(stateMachine)
 {
     environmentStateMachine = GameObject.FindObjectOfType<EnvironmentStateMachine>() as EnvironmentStateMachine;
     gameStateMachine = GameObject.FindObjectOfType<GameStateMachine>() as GameStateMachine;
 }
 public EnvironmentIdleState( EnvironmentStateMachine stateMachine )
     : base(stateMachine)
 {
 }
 public EnvironmentMovingState( EnvironmentStateMachine stateMachine )
     : base(stateMachine)
 {
 }