Ejemplo n.º 1
0
        private void UpdateGeneral()
        {
            if (Input.GetKeyDown(KeyCode.LeftShift))
            {
                m_locomotionSpeedRamp.BeginSprint();
                m_trajectoryGenerator.MaxSpeed      = 6.7f;
                m_trajectoryGenerator.PositionBias  = 6f;
                m_trajectoryGenerator.DirectionBias = 6f;
                m_mxmAnimator.SetCalibrationData("Sprint");
                m_trajectoryGenerator.InputProfile = m_sprintLocomotion;
            }
            else if (Input.GetKeyUp(KeyCode.LeftShift))
            {
                m_locomotionSpeedRamp.ResetFromSprint();
                m_trajectoryGenerator.MaxSpeed      = 4.3f;
                m_trajectoryGenerator.PositionBias  = 10f;
                m_trajectoryGenerator.DirectionBias = 10f;
                m_mxmAnimator.SetCalibrationData("General");
                m_trajectoryGenerator.InputProfile = m_generalLocomotion;
            }

            if (Input.GetMouseButtonDown(1))
            {
                m_mxmAnimator.AddRequiredTag("Strafe");
                m_mxmAnimator.SetCalibrationData("Strafe");
                m_mxmAnimator.AngularErrorWarpRate      = 360f;
                m_mxmAnimator.AngularErrorWarpThreshold = 270f;
                m_mxmAnimator.AngularErrorWarpMethod    = EAngularErrorWarpMethod.TrajectoryFacing;
                m_trajectoryGenerator.TrajectoryMode    = ETrajectoryMoveMode.Strafe;
                m_mxmAnimator.PastTrajectoryMode        = EPastTrajectoryMode.CopyFromCurrentPose;
            }
            else if (Input.GetMouseButtonUp(1))
            {
                m_mxmAnimator.RemoveRequiredTag("Strafe");
                m_mxmAnimator.SetCalibrationData(0);
                m_mxmAnimator.AngularErrorWarpRate      = 60.0f;
                m_mxmAnimator.AngularErrorWarpThreshold = 90f;
                m_mxmAnimator.AngularErrorWarpMethod    = EAngularErrorWarpMethod.CurrentHeading;
                m_trajectoryGenerator.TrajectoryMode    = ETrajectoryMoveMode.Normal;
                m_mxmAnimator.PastTrajectoryMode        = EPastTrajectoryMode.ActualHistory;
            }

            if (Input.GetKeyDown(KeyCode.LeftControl))
            {
                m_mxmAnimator.BeginEvent(m_slideDefinition);
                BeginSliding();
            }
            else if (Input.GetKeyDown(KeyCode.Space))
            {
                if (m_jumpDefinition != null)
                {
                    m_jumpDefinition.ClearContacts();
                    m_jumpDefinition.AddDummyContacts(1);
                    m_mxmAnimator.BeginEvent(m_jumpDefinition);

                    ref readonly EventContact eventContact = ref m_mxmAnimator.NextEventContact_Actual_World;