Exemplo n.º 1
0
 /// <summary>
 ///
 /// </summary>
 void OnClimbing()
 {
     if (m_Ladder.HasPending)
     {
         if (!MoveToStarted)
         {
             StartCoroutine(MoveTo(m_Ladder.GetCurrent, false));
         }
     }
     else
     {
         desiredMove = m_Ladder.transform.rotation * Vector3.forward * m_Input.y;
         m_MoveDir.y = desiredMove.y * m_ClimbSpeed;
         m_MoveDir.x = desiredMove.x * m_ClimbSpeed;
         m_MoveDir.z = desiredMove.z * m_ClimbSpeed;
         if (Input.GetKeyDown(KeyCode.Space))
         {
             ToggleClimbing();
             m_Ladder.JumpOut();
             m_MoveDir.y  = m_JumpSpeed;
             m_MoveDir.z  = 30;
             lastJumpTime = Time.time;
         }
         m_CollisionFlags = m_CharacterController.Move(m_MoveDir * Time.fixedDeltaTime);
     }
 }