void TriggerEnterLadder()
        {
            if (debugMode)
            {
                Debug.Log("Enter Ladder");
            }

            OnExitTriggerLadder.Invoke();

            if (ladderAction.targetCharacterParent)
            {
                transform.parent = ladderAction.targetCharacterParent;
            }
            tpInput.cc.isCrouching = false;
            tpInput.cc.ControlCapsuleHeight();
            tpInput.UpdateCameraStates();
            tpInput.cc.UpdateAnimator();
            OnEnterLadder.Invoke();
            triggerEnterOnce = true;
            isEnterLadder    = true;
            tpInput.cc.animator.SetInteger(vAnimatorParameters.ActionState, 1);     // set actionState 1 to avoid falling transitions
            tpInput.SetLockAllInput(true);
            tpInput.cc.ResetInputAnimatorParameters();
            ladderAction.OnDoAction.Invoke();
            ladderActionTemp = ladderAction;
            tpInput.cc.animator.updateMode = AnimatorUpdateMode.Normal;
            if (!string.IsNullOrEmpty(ladderActionTemp.playAnimation))
            {
                tpInput.cc.animator.CrossFadeInFixedTime(ladderActionTemp.playAnimation, 0.25f);     // trigger the action animation clip
                isUsingLadder = true;
                tpInput.cc.disableAnimations = true;
                tpInput.cc.StopCharacter();
                isEnterLadder = false;
            }
        }
Esempio n. 2
0
 public virtual void EnterBuildMode()
 {
     tpInput.SetLockAllInput(true);
     currentBuild.EnterBuild();
     if (currentBuild.strafeWhileCreate && tpInput.cc.locomotionType != vThirdPersonMotor.LocomotionType.OnlyStrafe)
     {
         tpInput.SetStrafeLocomotion(true);
     }
     onEnterBuildMode.Invoke();
     genericAction.SetLockTriggerEvents(true);
 }
Esempio n. 3
0
        private void EnterSwimState()
        {
            if (debugMode)
            {
                Debug.Log("Player is Swimming");
            }

            triggerSwimState = true;
            OnEnterWater.Invoke();
            tpInput.SetLockAllInput(true);
            tpInput.cc.disableCheckGround      = true;
            tpInput.cc.lockSetMoveSpeed        = true;
            tpInput.cc.moveSpeed               = swimForwardSpeed;
            tpInput.cc.freeSpeed.rotationSpeed = swimRotationSpeed;
            ResetPlayerValues();
            tpInput.cc.animator.CrossFadeInFixedTime("Swimming", 0.25f);
            tpInput.cc._rigidbody.useGravity      = false;
            tpInput.cc._rigidbody.drag            = 10f;
            tpInput.cc._capsuleCollider.isTrigger = false;
        }