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; } }
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); }
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; }