//private void CheckForClimbingAreas() //{ // //if ((GetState().Equals(MovementState.Jumping) || GetState().Equals(MovementState.Falling) || GetState().Equals(MovementState.WallClimbing) || GetState().Equals(MovementState.LedgeClimbing))) // //{ // Vector3 endpointR = ((transform.forward.normalized * m_climbCheckRayDist) + m_climbRaycheckR.position); // Vector3 endpointL = ((transform.forward.normalized * m_climbCheckRayDist) + m_climbRaycheckL.position); // Debug.DrawLine(m_climbRaycheckR.position, endpointR, Color.blue); // Debug.DrawLine(m_climbRaycheckL.position, endpointL, Color.blue); // // Shoot two rays forward from above head // RaycastHit hitR; // RaycastHit hitL; // if (Physics.Linecast(m_climbRaycheckR.position, endpointR, out hitR, m_climbCheckLayers) // && // Physics.Linecast(m_climbRaycheckL.position, endpointL, out hitL, m_climbCheckLayers)) // { // // Did both hit ledge trigger? // if ((hitL.collider.gameObject.tag.Equals("ClimbLedge") && hitR.collider.gameObject.tag.Equals("ClimbLedge")) && m_findLedges) // { // // Switch to // if (m_controllerPlayer.GetState().Equals(ControllerPlayer.MovementState.WallClimbing)) // { // SwitchToLedgeClimb(hitR.collider.gameObject.GetComponent<LedgeEdge>().GetClosestTarget(transform.position)); // } // // Activate // else if (!m_controllerPlayer.GetState().Equals(ControllerPlayer.MovementState.LedgeClimbing)) // { // // Start climbing at climb target closest to a point between raycasts // ActivateLedgeClimbing(hitR.collider.gameObject.GetComponent<LedgeEdge>().GetClosestTarget(transform.position)); // } // } // // Did both hit wall trigger? // else if ((hitL.collider.gameObject.tag.Equals("ClimbWall") && hitR.collider.gameObject.tag.Equals("ClimbWall")) && m_findWalls) // { // // Switch to // if (m_controllerPlayer.GetState().Equals(ControllerPlayer.MovementState.LedgeClimbing)) // { // SwitchToWallClimb(hitL.collider.gameObject.transform); // } // // Activate // else if (!m_controllerPlayer.GetState().Equals(ControllerPlayer.MovementState.WallClimbing)) // { // if (Vector3.Distance(hitL.point, m_climbRaycheckL.position) <= m_controllerWallClimbing.DistanceFromWall) // ActivateWallClimbing(hitL.collider.gameObject.transform); // } // } // } // //} //} // Go into wall climbing mode public void ActivateWallClimbing(Transform wall) { //transform.parent = wall; m_currentState = ClimbingState.WallClimbing; m_controllerWallClimbing.enabled = true; m_controllerWallClimbing.InitiateClimb(wall.rotation); m_controllerPlayer.ActivateClimbing(); }