// Update is called once per frame
    void Update()
    {
        if (_mPlayerCTRL == null)
        {
            return;
        }
        if (_mIsClimbing)
        {
            ClimbLedge();
            return;
        }

        if (Input.GetKey(KeyCode.W))
        {
            _mPlayerCTRL.SetFacingDir(CharacterFacing.FACE_UP);
        }
        else if (Input.GetKey(KeyCode.S))
        {
            _mPlayerCTRL.SetFacingDir(CharacterFacing.FACE_DOWN);
        }
        else if (Input.GetKey(KeyCode.A))
        {
            _mPlayerCTRL.SetFacingDir(CharacterFacing.FACE_LEFT);
        }
        else if (Input.GetKey(KeyCode.D))
        {
            _mPlayerCTRL.SetFacingDir(CharacterFacing.FACE_RIGHT);
        }

        /*else if (Input.GetKey(KeyCode.K))
         * {
         *  Debug.Log("Key K");
         *  Scenes.instance.LoadScene(Scenes.Scene.GAME_OVER);
         * }*/
        else
        {
            _mPlayerCTRL.SetFacingDir(CharacterFacing.FACE_CENTRE);
        }

        if (Input.GetKey(KeyCode.Space))
        {
            CharacterFacing playerDir = _mPlayerCTRL.GetFacingDir();
            if (playerDir != CharacterFacing.FACE_CENTRE && playerDir != _mCompatibleClimbDir)
            {
                ReleasePlayer();
            }
            else
            {
                Debug.Log("Climbing");
                _mClimbTimeProgess = 0;
                _mIsClimbing       = true;
            }
        }
    }
    private void OnTriggerEnter(Collider other)
    {
        Debug.Log("Ledge Hit");
        if (other.gameObject.tag == "Player")
        {
            _mPlayerCTRL = other.gameObject.GetComponent <PlayerCTRL>();
            if (_mPlayerCTRL != null)
            {
                _mPlayerCTRL.SetPossessed(true);
                _mPlayerRigidBdy                = _mPlayerCTRL.GetComponent <Rigidbody>();
                _mPlayerRigidBdy.velocity       = Vector3.zero;
                _mPlayerCTRL.transform.position = _mClimbStartPos;
                _mPlayerCTRL.SetFacingDir(CharacterFacing.FACE_CENTRE);
                _mPlayerHeight = _mPlayerCTRL.GetComponent <CapsuleCollider>().height;

                _mClimbUpPos    = transform.position;
                _mClimbUpPos.y += 0.5f + (_mPlayerHeight / 2);

                _mClimbSidePos    = _mClimbUpPos;
                _mClimbSidePos.x += _mLedgeDirection == LedgeAttachment.CLIMB_LEFT ? -1 : 1;
            }
        }
    }