add some extra assets FX and SFX
This commit is contained in:
@@ -48,10 +48,21 @@ public class bulletTimeFiringSystem : OnAnimatorIKComponent
|
||||
public bool useTimeBulletDuration;
|
||||
public float timeBulletDuration;
|
||||
|
||||
[Space]
|
||||
|
||||
public bool useEventsOnTimeBullet;
|
||||
public UnityEvent eventOnTimeBulletStart;
|
||||
public UnityEvent eventOnTimeBulletEnd;
|
||||
|
||||
[Space]
|
||||
[Header ("Time Bullet Animation Settings")]
|
||||
[Space]
|
||||
|
||||
public bool setUnscaledTimeOnAnimator;
|
||||
|
||||
public bool setCharacterAnimationSpeed;
|
||||
public float characterAnimationSpeed = 1.6f;
|
||||
|
||||
[Space]
|
||||
[Header ("Physics Settings")]
|
||||
[Space]
|
||||
@@ -79,7 +90,7 @@ public class bulletTimeFiringSystem : OnAnimatorIKComponent
|
||||
public string horizontalAnimatorName = "Horizontal Action";
|
||||
public string verticalAnimatorName = "Vertical Action";
|
||||
|
||||
public float delayToResumeAfterGetUp = 1;
|
||||
//public float delayToResumeAfterGetUp = 1.2f;
|
||||
|
||||
[Space]
|
||||
[Header ("Third Person Camera State Settings")]
|
||||
@@ -119,6 +130,10 @@ public class bulletTimeFiringSystem : OnAnimatorIKComponent
|
||||
|
||||
public bool groundDetectedAfterJump;
|
||||
|
||||
public bool isFullBodyAwarenessActive;
|
||||
|
||||
public float bodyWeight;
|
||||
|
||||
[Space]
|
||||
[Header ("Events Settings")]
|
||||
[Space]
|
||||
@@ -126,11 +141,20 @@ public class bulletTimeFiringSystem : OnAnimatorIKComponent
|
||||
public UnityEvent eventOnStart;
|
||||
public UnityEvent eventOnEnd;
|
||||
|
||||
[Space]
|
||||
|
||||
public UnityEvent eventOnGetUpForward;
|
||||
public UnityEvent eventOnGetUpBackward;
|
||||
public UnityEvent eventOnGetUpRight;
|
||||
public UnityEvent eventOnGetUpLeft;
|
||||
|
||||
[Space]
|
||||
|
||||
public UnityEvent eventOnGetUpForwardFromBack;
|
||||
public UnityEvent eventOnGetUpBackwardFromBack;
|
||||
public UnityEvent eventOnGetUpRightFromBack;
|
||||
public UnityEvent eventOnGetUpLeftFromBack;
|
||||
|
||||
[Space]
|
||||
[Header ("Components")]
|
||||
[Space]
|
||||
@@ -155,6 +179,8 @@ public class bulletTimeFiringSystem : OnAnimatorIKComponent
|
||||
|
||||
public Transform playerTransform;
|
||||
|
||||
|
||||
|
||||
Vector3 lookDirection;
|
||||
|
||||
Vector2 mouseAxisValues;
|
||||
@@ -177,7 +203,7 @@ public class bulletTimeFiringSystem : OnAnimatorIKComponent
|
||||
|
||||
string previousCameraState;
|
||||
|
||||
float bodyWeight;
|
||||
string defaultThirdPersonStateName = "";
|
||||
|
||||
Vector3 lastJumpDirection;
|
||||
|
||||
@@ -199,33 +225,32 @@ public class bulletTimeFiringSystem : OnAnimatorIKComponent
|
||||
verticalAnimatorID = Animator.StringToHash (verticalAnimatorName);
|
||||
}
|
||||
|
||||
void Update ()
|
||||
{
|
||||
if (movementActive) {
|
||||
if (!activateGetUp) {
|
||||
lookDirectionTarget = mainCameraTransform.position + mainCameraTransform.forward * lookDirectionForwardOffset;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void FixedUpdate ()
|
||||
{
|
||||
if (movementActive) {
|
||||
if (activateGetUp) {
|
||||
if (Time.unscaledTime > delayToResumeAfterGetUp + lastTimeGetup) {
|
||||
disableMovement ();
|
||||
//if (Time.unscaledTime > delayToResumeAfterGetUp + lastTimeGetup) {
|
||||
// disableMovement ();
|
||||
//}
|
||||
|
||||
if (Time.unscaledTime > 0.3f + lastTimeGetup) {
|
||||
if (!mainPlayerController.isActionActive () && Time.time > mainPlayerController.getLastTimeActionActive () + 0.04f) {
|
||||
disableMovement ();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Vector3 aimDirection = mainCameraTransform.forward;
|
||||
if (!isFullBodyAwarenessActive) {
|
||||
Vector3 aimDirection = mainCameraTransform.forward;
|
||||
|
||||
aimDirection.y = 0f;
|
||||
aimDirection.y = 0f;
|
||||
|
||||
aimDirection = aimDirection.normalized;
|
||||
aimDirection = aimDirection.normalized;
|
||||
|
||||
aimDirection = playerTransform.InverseTransformDirection (aimDirection);
|
||||
aimDirection = playerTransform.InverseTransformDirection (aimDirection);
|
||||
|
||||
mainAnimator.SetFloat (horizontalAnimatorID, aimDirection.x);
|
||||
mainAnimator.SetFloat (verticalAnimatorID, aimDirection.z);
|
||||
mainAnimator.SetFloat (horizontalAnimatorID, aimDirection.x);
|
||||
mainAnimator.SetFloat (verticalAnimatorID, aimDirection.z);
|
||||
}
|
||||
|
||||
if (mainPlayerController.isPlayerOnGround ()) {
|
||||
if (Time.unscaledTime > minWaitToCheckOnGroundState + lastTimeMovementActive) {
|
||||
@@ -253,7 +278,7 @@ public class bulletTimeFiringSystem : OnAnimatorIKComponent
|
||||
|
||||
if (useEventsOnTimeBullet && timeBulletActive) {
|
||||
if (Time.unscaledTime > lastTimeMovementActive + timeBulletDuration) {
|
||||
// print (Time.unscaledTime + " " + (lastTimeMovementActive + timeBulletDuration));
|
||||
//print (Time.unscaledTime + " " + (lastTimeMovementActive + timeBulletDuration));
|
||||
|
||||
checkTimeBullet (false);
|
||||
}
|
||||
@@ -262,6 +287,68 @@ public class bulletTimeFiringSystem : OnAnimatorIKComponent
|
||||
}
|
||||
}
|
||||
|
||||
public override void updateOnAnimatorIKState ()
|
||||
{
|
||||
if (!updateIKEnabled) {
|
||||
return;
|
||||
}
|
||||
|
||||
//if (isFullBodyAwarenessActive) {
|
||||
// return;
|
||||
//}
|
||||
|
||||
if (movementActive) {
|
||||
if (!activateGetUp) {
|
||||
lookDirectionTarget = mainCameraTransform.position + mainCameraTransform.forward * lookDirectionForwardOffset;
|
||||
}
|
||||
}
|
||||
|
||||
if (isFullBodyAwarenessActive) {
|
||||
mainAnimator.SetLookAtWeight (bodyWeight, 1, 1.0f, 1.0f, 0.7f);
|
||||
} else {
|
||||
mainAnimator.SetLookAtWeight (bodyWeight, 0.5f, 1.0f, 1.0f, 0.7f);
|
||||
}
|
||||
|
||||
mainAnimator.SetLookAtPosition (lookDirectionTarget);
|
||||
|
||||
if (activateGetUp || jumpCoroutineActive) {
|
||||
bodyWeight = Mathf.Lerp (0, bodyWeight, currentTimeForRisingHands / bodyWeightLerpSpeed);
|
||||
} else {
|
||||
bodyWeight = Mathf.Lerp (1, bodyWeight, currentTimeForRisingHands / bodyWeightLerpSpeed);
|
||||
}
|
||||
|
||||
if (activateGetUp || jumpCoroutineActive) {
|
||||
if (!armsIKActive) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (currentTimeForRisingHands > 0) {
|
||||
currentTimeForRisingHands -= Time.unscaledDeltaTime;
|
||||
|
||||
currentArmsWeight = Mathf.Lerp (0, armsWeight, currentTimeForRisingHands / timeForRaisingHands);
|
||||
} else {
|
||||
currentTimeForRisingHands = 0;
|
||||
|
||||
currentArmsWeight = 0;
|
||||
|
||||
armsIKActive = false;
|
||||
}
|
||||
|
||||
} else {
|
||||
armsIKActive = true;
|
||||
|
||||
if (currentTimeForRisingHands < timeForRaisingHands) {
|
||||
currentTimeForRisingHands += Time.unscaledDeltaTime;
|
||||
|
||||
currentArmsWeight = Mathf.Lerp (0, armsWeight, currentTimeForRisingHands / timeForRaisingHands);
|
||||
} else {
|
||||
currentTimeForRisingHands = timeForRaisingHands;
|
||||
|
||||
currentArmsWeight = armsWeight;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setMovementActiveState (bool state)
|
||||
{
|
||||
if (!movementEnabled) {
|
||||
@@ -291,14 +378,36 @@ public class bulletTimeFiringSystem : OnAnimatorIKComponent
|
||||
|
||||
checkTimeBullet (true);
|
||||
} else {
|
||||
bool gettingUpFromBellyResult = false;
|
||||
|
||||
float bodyAngle = Vector3.SignedAngle (playerTransform.forward, mainCameraTransform.forward, playerTransform.up);
|
||||
|
||||
if (Mathf.Abs (bodyAngle) < 100) {
|
||||
gettingUpFromBellyResult = true;
|
||||
}
|
||||
|
||||
if (showDebugPrint) {
|
||||
print ("gettingUpFromBellyResult " + gettingUpFromBellyResult + " " + Mathf.Abs (bodyAngle));
|
||||
}
|
||||
|
||||
bool lookingForward = false;
|
||||
|
||||
Vector3 movementDirection = playerTransform.forward;
|
||||
|
||||
if (!gettingUpFromBellyResult) {
|
||||
movementDirection *= -1;
|
||||
}
|
||||
|
||||
if (playerInput.getPlayerMovementAxis () != Vector2.zero) {
|
||||
movementDirection = mainPlayerController.getMoveInputDirection ();
|
||||
}
|
||||
|
||||
if (showDebugPrint) {
|
||||
print ("movementDirection " + movementDirection);
|
||||
print ("getPlayerMovementAxis " + playerInput.getPlayerMovementAxis ());
|
||||
print ("getMoveInputDirection " + mainPlayerController.getMoveInputDirection ());
|
||||
}
|
||||
|
||||
float angle = Vector3.SignedAngle (movementDirection, mainCameraTransform.forward, playerTransform.up);
|
||||
|
||||
float ABSAngle = Mathf.Abs (angle);
|
||||
@@ -319,24 +428,62 @@ public class bulletTimeFiringSystem : OnAnimatorIKComponent
|
||||
|
||||
mainAnimator.SetInteger (actionIDAnimatorID, 0);
|
||||
|
||||
if (lookingForward) {
|
||||
if (ABSAngle < 45) {
|
||||
eventOnGetUpForward.Invoke ();
|
||||
} else if (angle < 0) {
|
||||
eventOnGetUpRight.Invoke ();
|
||||
if (gettingUpFromBellyResult) {
|
||||
if (lookingForward) {
|
||||
if (ABSAngle < 45) {
|
||||
eventOnGetUpForward.Invoke ();
|
||||
|
||||
if (showDebugPrint) {
|
||||
print ("activating event on right");
|
||||
if (showDebugPrint) {
|
||||
print ("activating event on forward");
|
||||
}
|
||||
} else if (angle < 0) {
|
||||
eventOnGetUpRight.Invoke ();
|
||||
|
||||
if (showDebugPrint) {
|
||||
print ("activating event on right");
|
||||
}
|
||||
} else {
|
||||
eventOnGetUpLeft.Invoke ();
|
||||
|
||||
if (showDebugPrint) {
|
||||
print ("activating event on left");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
eventOnGetUpLeft.Invoke ();
|
||||
eventOnGetUpBackward.Invoke ();
|
||||
|
||||
if (showDebugPrint) {
|
||||
print ("activating event on left");
|
||||
print ("activating event on backward");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
eventOnGetUpBackward.Invoke ();
|
||||
if (lookingForward) {
|
||||
if (ABSAngle < 45) {
|
||||
eventOnGetUpForwardFromBack.Invoke ();
|
||||
|
||||
if (showDebugPrint) {
|
||||
print ("activating event on forward");
|
||||
}
|
||||
} else if (angle < 0) {
|
||||
eventOnGetUpRightFromBack.Invoke ();
|
||||
|
||||
if (showDebugPrint) {
|
||||
print ("activating event on right");
|
||||
}
|
||||
} else {
|
||||
eventOnGetUpLeftFromBack.Invoke ();
|
||||
|
||||
if (showDebugPrint) {
|
||||
print ("activating event on left");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
eventOnGetUpBackwardFromBack.Invoke ();
|
||||
|
||||
if (showDebugPrint) {
|
||||
print ("activating event on backward");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
checkTimeBullet (false);
|
||||
@@ -344,6 +491,18 @@ public class bulletTimeFiringSystem : OnAnimatorIKComponent
|
||||
lastJumpDirection = Vector3.zero;
|
||||
}
|
||||
|
||||
if (setUnscaledTimeOnAnimator) {
|
||||
mainPlayerController.setAnimatorUnscaledTimeState (state);
|
||||
}
|
||||
|
||||
if (setCharacterAnimationSpeed) {
|
||||
if (state) {
|
||||
mainPlayerController.setReducedVelocity (characterAnimationSpeed);
|
||||
} else {
|
||||
mainPlayerController.setNormalVelocity ();
|
||||
}
|
||||
}
|
||||
|
||||
groundDetectedAfterJump = false;
|
||||
|
||||
//desactivar el salto y demas acciones que no se puedan hacer, quizas algunas cosas de las armas
|
||||
@@ -388,7 +547,7 @@ public class bulletTimeFiringSystem : OnAnimatorIKComponent
|
||||
{
|
||||
jumpCoroutineActive = true;
|
||||
|
||||
yield return new WaitForSeconds (rollOnStartDuration);
|
||||
yield return new WaitForSecondsRealtime (rollOnStartDuration);
|
||||
|
||||
jumpCoroutineActive = false;
|
||||
|
||||
@@ -451,6 +610,8 @@ public class bulletTimeFiringSystem : OnAnimatorIKComponent
|
||||
{
|
||||
bool isFirstPersonActive = mainPlayerController.isPlayerOnFirstPerson ();
|
||||
|
||||
isFullBodyAwarenessActive = mainPlayerCamera.isFullBodyAwarenessActive ();
|
||||
|
||||
if (state) {
|
||||
if (startActionWithRoll) {
|
||||
mainAnimator.SetInteger (actionIDAnimatorID, actionIDWithRoll);
|
||||
@@ -461,9 +622,24 @@ public class bulletTimeFiringSystem : OnAnimatorIKComponent
|
||||
mainAnimator.SetBool (externalControlleBehaviorActiveAnimatorID, state);
|
||||
|
||||
if (setNewCameraStateOnThirdPerson && !isFirstPersonActive) {
|
||||
previousCameraState = mainPlayerCamera.getCurrentStateName ();
|
||||
if (isFullBodyAwarenessActive) {
|
||||
|
||||
mainPlayerCamera.setCameraStateOnlyOnThirdPerson (newCameraStateOnThirdPerson);
|
||||
} else {
|
||||
if (defaultThirdPersonStateName == "") {
|
||||
defaultThirdPersonStateName = mainPlayerCamera.getDefaultThirdPersonStateName ();
|
||||
|
||||
mainPlayerCamera.setDefaultThirdPersonStateName (newCameraStateOnThirdPerson);
|
||||
|
||||
previousCameraState = mainPlayerCamera.getCurrentStateName ();
|
||||
|
||||
mainPlayerCamera.setCameraStateOnlyOnThirdPerson (newCameraStateOnThirdPerson);
|
||||
|
||||
mainPlayerCamera.setUseCustomThirdPersonAimActivePausedState (true);
|
||||
|
||||
mainPlayerCamera.setUseCustomThirdPersonAimActiveState (true,
|
||||
newCameraStateOnThirdPerson, newCameraStateOnThirdPerson);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
carryingWeaponsPreviously = mainPlayerWeaponsManager.isPlayerCarringWeapon ();
|
||||
@@ -485,12 +661,26 @@ public class bulletTimeFiringSystem : OnAnimatorIKComponent
|
||||
mainAnimator.SetInteger (actionIDAnimatorID, 0);
|
||||
|
||||
if (setNewCameraStateOnThirdPerson && !isFirstPersonActive) {
|
||||
if (previousCameraState != "") {
|
||||
if (previousCameraState != newCameraStateOnThirdPerson) {
|
||||
mainPlayerCamera.setCameraStateOnlyOnThirdPerson (previousCameraState);
|
||||
if (isFullBodyAwarenessActive) {
|
||||
|
||||
} else {
|
||||
if (defaultThirdPersonStateName != "") {
|
||||
mainPlayerCamera.setDefaultThirdPersonStateName (defaultThirdPersonStateName);
|
||||
|
||||
defaultThirdPersonStateName = "";
|
||||
}
|
||||
|
||||
previousCameraState = "";
|
||||
if (previousCameraState != "") {
|
||||
if (previousCameraState != newCameraStateOnThirdPerson) {
|
||||
mainPlayerCamera.setCameraStateOnlyOnThirdPerson (previousCameraState);
|
||||
}
|
||||
|
||||
previousCameraState = "";
|
||||
}
|
||||
|
||||
mainPlayerCamera.setUseCustomThirdPersonAimActivePausedState (false);
|
||||
|
||||
mainPlayerCamera.setUseCustomThirdPersonAimActiveState (false, "", "");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -521,7 +711,9 @@ public class bulletTimeFiringSystem : OnAnimatorIKComponent
|
||||
|
||||
mainPlayerController.setAddExtraRotationPausedState (state);
|
||||
|
||||
//if (!isFullBodyAwarenessActive) {
|
||||
mainHeadTrack.setHeadTrackSmoothPauseState (state);
|
||||
//}
|
||||
|
||||
mainPlayerController.setUseExternalControllerBehaviorPausedState (state);
|
||||
|
||||
@@ -535,6 +727,8 @@ public class bulletTimeFiringSystem : OnAnimatorIKComponent
|
||||
|
||||
mainPlayerController.setIgnoreLookInCameraDirectionOnFreeFireActiveState (state);
|
||||
|
||||
mainPlayerController.setIgnoreLookInCameraDirectionValue (state);
|
||||
|
||||
checkEventOnStateChange (state);
|
||||
|
||||
mainPlayerController.setFootStepManagerState (state);
|
||||
@@ -542,6 +736,23 @@ public class bulletTimeFiringSystem : OnAnimatorIKComponent
|
||||
mainPlayerController.setIgnoreInputOnAirControlActiveState (state);
|
||||
|
||||
mainPlayerController.setPlayerActionsInputEnabledState (!state);
|
||||
|
||||
mainPlayerController.setInoreInputOnNewGroundAdherenceActive (state);
|
||||
|
||||
if (state) {
|
||||
mainPlayerCamera.enableOrDisableChangeCameraView (false);
|
||||
} else {
|
||||
mainPlayerCamera.setOriginalchangeCameraViewEnabledValue ();
|
||||
}
|
||||
|
||||
if (showDebugPrint) {
|
||||
print ("setPlayerState " + state);
|
||||
}
|
||||
|
||||
if (isFullBodyAwarenessActive) {
|
||||
mainAnimator.SetFloat (horizontalAnimatorID, 0);
|
||||
mainAnimator.SetFloat (verticalAnimatorID, 0);
|
||||
}
|
||||
}
|
||||
|
||||
public void resetActionIdOnTimeBulletJump ()
|
||||
@@ -549,54 +760,6 @@ public class bulletTimeFiringSystem : OnAnimatorIKComponent
|
||||
mainAnimator.SetInteger (actionIDAnimatorID, 0);
|
||||
}
|
||||
|
||||
public override void updateOnAnimatorIKState ()
|
||||
{
|
||||
if (!updateIKEnabled) {
|
||||
return;
|
||||
}
|
||||
|
||||
mainAnimator.SetLookAtPosition (lookDirectionTarget);
|
||||
|
||||
mainAnimator.SetLookAtWeight (bodyWeight, 0.5f, 1.0f, 1.0f, 0.7f);
|
||||
|
||||
if (activateGetUp || jumpCoroutineActive) {
|
||||
bodyWeight = Mathf.Lerp (0, bodyWeight, currentTimeForRisingHands / bodyWeightLerpSpeed);
|
||||
} else {
|
||||
bodyWeight = Mathf.Lerp (1, bodyWeight, currentTimeForRisingHands / bodyWeightLerpSpeed);
|
||||
}
|
||||
|
||||
if (activateGetUp || jumpCoroutineActive) {
|
||||
if (!armsIKActive) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (currentTimeForRisingHands > 0) {
|
||||
currentTimeForRisingHands -= Time.unscaledDeltaTime;
|
||||
|
||||
currentArmsWeight = Mathf.Lerp (0, armsWeight, currentTimeForRisingHands / timeForRaisingHands);
|
||||
} else {
|
||||
currentTimeForRisingHands = 0;
|
||||
|
||||
currentArmsWeight = 0;
|
||||
|
||||
armsIKActive = false;
|
||||
}
|
||||
|
||||
} else {
|
||||
armsIKActive = true;
|
||||
|
||||
if (currentTimeForRisingHands < timeForRaisingHands) {
|
||||
currentTimeForRisingHands += Time.unscaledDeltaTime;
|
||||
|
||||
currentArmsWeight = Mathf.Lerp (0, armsWeight, currentTimeForRisingHands / timeForRaisingHands);
|
||||
} else {
|
||||
currentTimeForRisingHands = timeForRaisingHands;
|
||||
|
||||
currentArmsWeight = armsWeight;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setCurrentPlayerActionSystemCustomActionCategoryID ()
|
||||
{
|
||||
if (movementActive) {
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/bulletTimeFiringSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/climbDetectionCollisionSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/climbRopeSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/climbRopeTriggerMatchSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/climbRopeTriggerSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/externalControllerBehavior.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/externalControllerBehaviorManager.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/flySystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -9,7 +9,8 @@ DefaultImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/freeClimbSystem.cs.bak
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/freeClimbSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/freeClimbSystemIK.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/freeClimbZoneSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -5,325 +5,342 @@ using UnityEngine.Events;
|
||||
|
||||
public class freeFallCharacterActivator : MonoBehaviour
|
||||
{
|
||||
[Header ("Main Settings")]
|
||||
[Space]
|
||||
[Header ("Main Settings")]
|
||||
[Space]
|
||||
|
||||
public bool checkCharacterFallEnabled = true;
|
||||
public bool checkCharacterFallEnabled = true;
|
||||
|
||||
public float minTimeOnAirToActivateFreeFall = 2;
|
||||
public float minTimeOnAirToActivateFreeFall = 2;
|
||||
|
||||
public int regularAirID = -1;
|
||||
public int freeFallID = 3;
|
||||
public int regularAirID = -1;
|
||||
public int freeFallID = 3;
|
||||
|
||||
public bool setNewCameraStateOnFreeFallActive;
|
||||
public bool setNewCameraStateOnFreeFallActive;
|
||||
|
||||
public string newCameraStateOnFreeFall;
|
||||
public string newCameraStateOnFreeFall;
|
||||
|
||||
public Vector3 capsuleColliderCenter = new Vector3 (0, 1, 0);
|
||||
public Vector3 capsuleColliderCenter = new Vector3 (0, 1, 0);
|
||||
|
||||
public bool useMinFallSpeedToActivateState;
|
||||
public float minFallSpeedToActivateState;
|
||||
public bool useMinFallSpeedToActivateState;
|
||||
public float minFallSpeedToActivateState;
|
||||
|
||||
public bool avoidFallDamageOnFreeFall;
|
||||
public bool avoidFallDamageOnFreeFall;
|
||||
|
||||
public bool avoidFallDamageOnFreeFallOnlyOnTurbo;
|
||||
public bool avoidFallDamageOnFreeFallOnlyOnTurbo;
|
||||
|
||||
[Space]
|
||||
[Header ("Turbo Settings")]
|
||||
[Space]
|
||||
[Space]
|
||||
[Header ("Turbo Settings")]
|
||||
[Space]
|
||||
|
||||
public bool fallTurboEnabled = true;
|
||||
public float fallTurboMultiplier = 2;
|
||||
public bool fallTurboEnabled = true;
|
||||
public float fallTurboMultiplier = 2;
|
||||
|
||||
public bool useCameraShake;
|
||||
public string regularCameraShakeName;
|
||||
public bool useCameraShake;
|
||||
public string regularCameraShakeName;
|
||||
|
||||
public bool useMaxFallSpeed;
|
||||
public bool useMaxFallSpeed;
|
||||
|
||||
public float maxFallSpeed;
|
||||
public float maxFallSpeed;
|
||||
|
||||
[Space]
|
||||
[Space]
|
||||
|
||||
public bool useEventOnLandingWithTurbo;
|
||||
public UnityEvent eventOnLandingWithTurbo;
|
||||
public bool useEventOnLandingWithTurbo;
|
||||
public UnityEvent eventOnLandingWithTurbo;
|
||||
|
||||
[Space]
|
||||
[Header ("Debug")]
|
||||
[Space]
|
||||
[Space]
|
||||
[Header ("Debug")]
|
||||
[Space]
|
||||
|
||||
public bool checkingFreeFall;
|
||||
public bool showDebugPrint;
|
||||
|
||||
public bool freeFallActive;
|
||||
public bool checkingFreeFall;
|
||||
|
||||
public bool freeFallPaused;
|
||||
public bool freeFallActive;
|
||||
|
||||
public bool fallTurboActive;
|
||||
public bool freeFallPaused;
|
||||
|
||||
[Space]
|
||||
[Header ("Event Settings")]
|
||||
[Space]
|
||||
public bool fallTurboActive;
|
||||
|
||||
public bool useEventsOnFreeFallStateChange;
|
||||
public UnityEvent eventOnFreeFallActive;
|
||||
public UnityEvent eventOnFreeFallDeactivate;
|
||||
[Space]
|
||||
[Header ("Event Settings")]
|
||||
[Space]
|
||||
|
||||
[Space]
|
||||
[Header ("Components")]
|
||||
[Space]
|
||||
public bool useEventsOnFreeFallStateChange;
|
||||
public UnityEvent eventOnFreeFallActive;
|
||||
public UnityEvent eventOnFreeFallDeactivate;
|
||||
|
||||
public playerCamera mainPlayerCamera;
|
||||
[Space]
|
||||
[Header ("Components")]
|
||||
[Space]
|
||||
|
||||
public playerController mainPlayerController;
|
||||
public playerCamera mainPlayerCamera;
|
||||
|
||||
float lastTimeFalling;
|
||||
public playerController mainPlayerController;
|
||||
|
||||
float lastTimeJump;
|
||||
float lastTimeFalling;
|
||||
|
||||
string previousCameraState;
|
||||
float lastTimeJump;
|
||||
|
||||
bool resetCheckOnFreeFallActive;
|
||||
string previousCameraState;
|
||||
|
||||
void Update ()
|
||||
{
|
||||
if (checkCharacterFallEnabled) {
|
||||
if (freeFallPaused) {
|
||||
return;
|
||||
}
|
||||
bool resetCheckOnFreeFallActive;
|
||||
|
||||
if (!checkingFreeFall) {
|
||||
if (!mainPlayerController.isPlayerOnGround () &&
|
||||
mainPlayerController.getCurrentAirID () == regularAirID &&
|
||||
!mainPlayerController.isExternalControlBehaviorForAirTypeActive () &&
|
||||
!mainPlayerController.isPlayerDriving ()) {
|
||||
void Update ()
|
||||
{
|
||||
if (checkCharacterFallEnabled) {
|
||||
if (freeFallPaused) {
|
||||
return;
|
||||
}
|
||||
|
||||
checkingFreeFall = true;
|
||||
if (!checkingFreeFall) {
|
||||
if (!mainPlayerController.isPlayerOnGround () &&
|
||||
mainPlayerController.getCurrentAirID () == regularAirID &&
|
||||
!mainPlayerController.isExternalControlBehaviorForAirTypeActive () &&
|
||||
!mainPlayerController.isPlayerDriving ()) {
|
||||
|
||||
lastTimeFalling = Time.time;
|
||||
}
|
||||
} else {
|
||||
if (!freeFallActive) {
|
||||
if (Time.time > minTimeOnAirToActivateFreeFall + lastTimeFalling && checkFallSpeed ()) {
|
||||
checkingFreeFall = true;
|
||||
|
||||
if (mainPlayerController.getCurrentAirID () == regularAirID) {
|
||||
setFreeFallState (true);
|
||||
} else {
|
||||
checkingFreeFall = false;
|
||||
}
|
||||
} else {
|
||||
if (mainPlayerController.isPlayerOnGround () ||
|
||||
mainPlayerController.isActionActive () ||
|
||||
mainPlayerController.isGravityPowerActive () ||
|
||||
mainPlayerController.isPlayerOnFFOrZeroGravityModeOn () ||
|
||||
mainPlayerController.isChoosingGravityDirection () ||
|
||||
mainPlayerController.isGravityForcePaused () ||
|
||||
mainPlayerController.isWallRunningActive () ||
|
||||
mainPlayerController.isSwimModeActive () ||
|
||||
mainPlayerController.isSphereModeActive () ||
|
||||
mainPlayerController.isExternalControlBehaviorForAirTypeActive () ||
|
||||
mainPlayerController.isPlayerDriving () ||
|
||||
mainPlayerController.isSlowFallExternallyActive ()) {
|
||||
lastTimeFalling = Time.time;
|
||||
}
|
||||
} else {
|
||||
if (!freeFallActive) {
|
||||
if (Time.time > minTimeOnAirToActivateFreeFall + lastTimeFalling && checkFallSpeed ()) {
|
||||
|
||||
setFreeFallState (false);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (mainPlayerController.isPlayerOnGround () ||
|
||||
mainPlayerController.isPlayerAiming () ||
|
||||
lastTimeJump != mainPlayerController.getLastDoubleJumpTime () ||
|
||||
mainPlayerController.isExternalControlBehaviorForAirTypeActive () ||
|
||||
resetCheckOnFreeFallActive) {
|
||||
|
||||
resetRegularPlayerValues ();
|
||||
|
||||
disableFreeFallActiveState ();
|
||||
}
|
||||
|
||||
if (mainPlayerController.getCurrentAirID () != freeFallID) {
|
||||
disableFreeFallActiveState ();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void disableFreeFallActiveState ()
|
||||
{
|
||||
resetCheckOnFreeFallActive = false;
|
||||
|
||||
setFreeFallState (false);
|
||||
}
|
||||
|
||||
public void setFreeFallPausedState (bool state)
|
||||
{
|
||||
if (!state) {
|
||||
if (freeFallActive) {
|
||||
resetRegularPlayerValues ();
|
||||
|
||||
disableFreeFallActiveState ();
|
||||
}
|
||||
}
|
||||
|
||||
freeFallPaused = state;
|
||||
}
|
||||
|
||||
public bool checkFallSpeed ()
|
||||
{
|
||||
if (useMinFallSpeedToActivateState) {
|
||||
if (Mathf.Abs (mainPlayerController.getVerticalSpeed ()) > minFallSpeedToActivateState) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public void setResetCheckOnFreeFallActiveState (bool state)
|
||||
{
|
||||
resetCheckOnFreeFallActive = state;
|
||||
}
|
||||
|
||||
public void inputEnableOrDisableFallTurbo (bool state)
|
||||
{
|
||||
if (!fallTurboEnabled) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (freeFallActive) {
|
||||
setTurboState (state);
|
||||
}
|
||||
}
|
||||
|
||||
void setTurboState (bool state)
|
||||
{
|
||||
if (fallTurboActive == state) {
|
||||
return;
|
||||
}
|
||||
|
||||
fallTurboActive = state;
|
||||
|
||||
if (fallTurboActive) {
|
||||
mainPlayerController.setGravityMultiplierValueFromExternalFunction (fallTurboMultiplier);
|
||||
|
||||
mainPlayerController.setCurrentAirSpeedValue (2);
|
||||
|
||||
if (useCameraShake) {
|
||||
mainPlayerCamera.setShakeCameraState (true, regularCameraShakeName);
|
||||
}
|
||||
} else {
|
||||
mainPlayerController.setGravityMultiplierValue (true, 0);
|
||||
|
||||
mainPlayerController.setCurrentAirSpeedValue (1);
|
||||
|
||||
if (useCameraShake) {
|
||||
mainPlayerCamera.setShakeCameraState (false, "");
|
||||
}
|
||||
}
|
||||
|
||||
if (avoidFallDamageOnFreeFall && avoidFallDamageOnFreeFallOnlyOnTurbo) {
|
||||
mainPlayerController.setFallDamageCheckOnHealthPausedState (state);
|
||||
}
|
||||
|
||||
if (useMaxFallSpeed) {
|
||||
mainPlayerController.setUseMaxFallSpeedExternallyActiveState (state);
|
||||
|
||||
if (state) {
|
||||
mainPlayerController.setCustomMaxFallSpeedExternally (maxFallSpeed);
|
||||
} else {
|
||||
mainPlayerController.setCustomMaxFallSpeedExternally (0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void setFreeFallState (bool state)
|
||||
{
|
||||
if (state) {
|
||||
freeFallActive = true;
|
||||
|
||||
mainPlayerController.setCurrentAirIDValue (freeFallID);
|
||||
|
||||
mainPlayerController.setPlayerCapsuleColliderDirection (2);
|
||||
|
||||
mainPlayerController.setPlayerColliderCapsuleCenter (capsuleColliderCenter);
|
||||
|
||||
lastTimeJump = mainPlayerController.getLastDoubleJumpTime ();
|
||||
|
||||
if (setNewCameraStateOnFreeFallActive) {
|
||||
previousCameraState = mainPlayerCamera.getCurrentStateName ();
|
||||
|
||||
mainPlayerCamera.setCameraStateOnlyOnThirdPerson (newCameraStateOnFreeFall);
|
||||
}
|
||||
|
||||
if (avoidFallDamageOnFreeFall && !avoidFallDamageOnFreeFallOnlyOnTurbo) {
|
||||
mainPlayerController.setFallDamageCheckOnHealthPausedState (true);
|
||||
}
|
||||
|
||||
} else {
|
||||
if (avoidFallDamageOnFreeFall) {
|
||||
mainPlayerController.setFallDamageCheckOnHealthPausedState (false);
|
||||
}
|
||||
|
||||
if (fallTurboActive) {
|
||||
if (useEventOnLandingWithTurbo) {
|
||||
if (mainPlayerController.checkIfPlayerOnGroundWithRaycast () || mainPlayerController.isPlayerOnGround ()) {
|
||||
eventOnLandingWithTurbo.Invoke ();
|
||||
}
|
||||
}
|
||||
|
||||
setTurboState (false);
|
||||
}
|
||||
if (mainPlayerController.getCurrentAirID () == regularAirID) {
|
||||
setFreeFallState (true);
|
||||
} else {
|
||||
checkingFreeFall = false;
|
||||
}
|
||||
} else {
|
||||
if (checkIfPlayerBusy ()) {
|
||||
|
||||
checkingFreeFall = false;
|
||||
setFreeFallState (false);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (mainPlayerController.isPlayerOnGround () ||
|
||||
mainPlayerController.isPlayerAiming () ||
|
||||
lastTimeJump != mainPlayerController.getLastDoubleJumpTime () ||
|
||||
mainPlayerController.isExternalControlBehaviorForAirTypeActive () ||
|
||||
mainPlayerController.isActionActive () ||
|
||||
resetCheckOnFreeFallActive) {
|
||||
|
||||
freeFallActive = false;
|
||||
resetRegularPlayerValues ();
|
||||
|
||||
if (setNewCameraStateOnFreeFallActive) {
|
||||
if (previousCameraState != "") {
|
||||
mainPlayerCamera.setCameraStateOnlyOnThirdPerson (previousCameraState);
|
||||
disableFreeFallActiveState ();
|
||||
}
|
||||
|
||||
previousCameraState = "";
|
||||
}
|
||||
}
|
||||
if (mainPlayerController.getCurrentAirID () != freeFallID) {
|
||||
disableFreeFallActiveState ();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (useMaxFallSpeed) {
|
||||
mainPlayerController.setUseMaxFallSpeedExternallyActiveState (false);
|
||||
bool checkIfPlayerBusy ()
|
||||
{
|
||||
if (mainPlayerController.isPlayerOnGround () ||
|
||||
mainPlayerController.isActionActive () ||
|
||||
mainPlayerController.isGravityPowerActive () ||
|
||||
mainPlayerController.isPlayerOnFFOrZeroGravityModeOn () ||
|
||||
mainPlayerController.isChoosingGravityDirection () ||
|
||||
mainPlayerController.isGravityForcePaused () ||
|
||||
mainPlayerController.isWallRunningActive () ||
|
||||
mainPlayerController.isSwimModeActive () ||
|
||||
mainPlayerController.isSphereModeActive () ||
|
||||
mainPlayerController.isExternalControlBehaviorForAirTypeActive () ||
|
||||
mainPlayerController.isPlayerDriving () ||
|
||||
mainPlayerController.isSlowFallExternallyActive ()) {
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public void disableFreeFallActiveState ()
|
||||
{
|
||||
resetCheckOnFreeFallActive = false;
|
||||
|
||||
setFreeFallState (false);
|
||||
}
|
||||
|
||||
public void setFreeFallPausedState (bool state)
|
||||
{
|
||||
if (!state) {
|
||||
if (freeFallActive) {
|
||||
resetRegularPlayerValues ();
|
||||
|
||||
disableFreeFallActiveState ();
|
||||
}
|
||||
}
|
||||
|
||||
freeFallPaused = state;
|
||||
}
|
||||
|
||||
public bool checkFallSpeed ()
|
||||
{
|
||||
if (useMinFallSpeedToActivateState) {
|
||||
if (Mathf.Abs (mainPlayerController.getVerticalSpeed ()) > minFallSpeedToActivateState) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public void setResetCheckOnFreeFallActiveState (bool state)
|
||||
{
|
||||
resetCheckOnFreeFallActive = state;
|
||||
}
|
||||
|
||||
public void inputEnableOrDisableFallTurbo (bool state)
|
||||
{
|
||||
if (!fallTurboEnabled) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (freeFallActive) {
|
||||
setTurboState (state);
|
||||
}
|
||||
}
|
||||
|
||||
void setTurboState (bool state)
|
||||
{
|
||||
if (fallTurboActive == state) {
|
||||
return;
|
||||
}
|
||||
|
||||
fallTurboActive = state;
|
||||
|
||||
if (fallTurboActive) {
|
||||
mainPlayerController.setGravityMultiplierValueFromExternalFunction (fallTurboMultiplier);
|
||||
|
||||
mainPlayerController.setCurrentAirSpeedValue (2);
|
||||
|
||||
if (useCameraShake) {
|
||||
mainPlayerCamera.setShakeCameraState (true, regularCameraShakeName);
|
||||
}
|
||||
} else {
|
||||
mainPlayerController.setGravityMultiplierValue (true, 0);
|
||||
|
||||
mainPlayerController.setCurrentAirSpeedValue (1);
|
||||
|
||||
if (useCameraShake) {
|
||||
mainPlayerCamera.setShakeCameraState (false, "");
|
||||
}
|
||||
}
|
||||
|
||||
if (avoidFallDamageOnFreeFall && avoidFallDamageOnFreeFallOnlyOnTurbo) {
|
||||
mainPlayerController.setFallDamageCheckOnHealthPausedState (state);
|
||||
}
|
||||
|
||||
if (useMaxFallSpeed) {
|
||||
mainPlayerController.setUseMaxFallSpeedExternallyActiveState (state);
|
||||
|
||||
if (state) {
|
||||
mainPlayerController.setCustomMaxFallSpeedExternally (maxFallSpeed);
|
||||
} else {
|
||||
mainPlayerController.setCustomMaxFallSpeedExternally (0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void setFreeFallState (bool state)
|
||||
{
|
||||
if (state) {
|
||||
freeFallActive = true;
|
||||
|
||||
mainPlayerController.setCurrentAirIDValue (freeFallID);
|
||||
|
||||
mainPlayerController.setPlayerCapsuleColliderDirection (2);
|
||||
|
||||
mainPlayerController.setPlayerColliderCapsuleCenter (capsuleColliderCenter);
|
||||
|
||||
lastTimeJump = mainPlayerController.getLastDoubleJumpTime ();
|
||||
|
||||
if (setNewCameraStateOnFreeFallActive) {
|
||||
previousCameraState = mainPlayerCamera.getCurrentStateName ();
|
||||
|
||||
mainPlayerCamera.setCameraStateOnlyOnThirdPerson (newCameraStateOnFreeFall);
|
||||
}
|
||||
|
||||
if (avoidFallDamageOnFreeFall && !avoidFallDamageOnFreeFallOnlyOnTurbo) {
|
||||
mainPlayerController.setFallDamageCheckOnHealthPausedState (true);
|
||||
}
|
||||
|
||||
} else {
|
||||
if (avoidFallDamageOnFreeFall) {
|
||||
mainPlayerController.setFallDamageCheckOnHealthPausedState (false);
|
||||
}
|
||||
|
||||
if (fallTurboActive) {
|
||||
if (useEventOnLandingWithTurbo) {
|
||||
if (mainPlayerController.checkIfPlayerOnGroundWithRaycast () || mainPlayerController.isPlayerOnGround ()) {
|
||||
eventOnLandingWithTurbo.Invoke ();
|
||||
}
|
||||
}
|
||||
|
||||
setTurboState (false);
|
||||
}
|
||||
|
||||
mainPlayerController.setCustomMaxFallSpeedExternally (0);
|
||||
}
|
||||
}
|
||||
checkingFreeFall = false;
|
||||
|
||||
checkEventsOnFreeFallStateChange (state);
|
||||
}
|
||||
freeFallActive = false;
|
||||
|
||||
public void stopFreeFallStateIfActive ()
|
||||
{
|
||||
if (freeFallActive) {
|
||||
resetRegularPlayerValues ();
|
||||
if (setNewCameraStateOnFreeFallActive) {
|
||||
if (previousCameraState != "") {
|
||||
mainPlayerCamera.setCameraStateOnlyOnThirdPerson (previousCameraState);
|
||||
|
||||
disableFreeFallActiveState ();
|
||||
}
|
||||
}
|
||||
previousCameraState = "";
|
||||
}
|
||||
}
|
||||
|
||||
void resetRegularPlayerValues ()
|
||||
{
|
||||
if (mainPlayerController.getCurrentAirID () == freeFallID) {
|
||||
mainPlayerController.setCurrentAirIDValue (regularAirID);
|
||||
if (useMaxFallSpeed) {
|
||||
mainPlayerController.setUseMaxFallSpeedExternallyActiveState (false);
|
||||
|
||||
mainPlayerController.setPlayerCapsuleColliderDirection (1);
|
||||
mainPlayerController.setCustomMaxFallSpeedExternally (0);
|
||||
}
|
||||
}
|
||||
|
||||
mainPlayerController.setOriginalPlayerColliderCapsuleScale ();
|
||||
}
|
||||
}
|
||||
checkEventsOnFreeFallStateChange (state);
|
||||
|
||||
void checkEventsOnFreeFallStateChange (bool state)
|
||||
{
|
||||
if (useEventsOnFreeFallStateChange) {
|
||||
if (state) {
|
||||
eventOnFreeFallActive.Invoke ();
|
||||
} else {
|
||||
eventOnFreeFallDeactivate.Invoke ();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (showDebugPrint) {
|
||||
print ("setFreeFallState " + state);
|
||||
}
|
||||
}
|
||||
|
||||
public void stopFreeFallStateIfActive ()
|
||||
{
|
||||
if (freeFallActive) {
|
||||
resetRegularPlayerValues ();
|
||||
|
||||
disableFreeFallActiveState ();
|
||||
}
|
||||
}
|
||||
|
||||
void resetRegularPlayerValues ()
|
||||
{
|
||||
if (mainPlayerController.getCurrentAirID () == freeFallID) {
|
||||
mainPlayerController.setCurrentAirIDValue (regularAirID);
|
||||
|
||||
mainPlayerController.setPlayerCapsuleColliderDirection (1);
|
||||
|
||||
mainPlayerController.setOriginalPlayerColliderCapsuleScale ();
|
||||
}
|
||||
}
|
||||
|
||||
void checkEventsOnFreeFallStateChange (bool state)
|
||||
{
|
||||
if (useEventsOnFreeFallStateChange) {
|
||||
if (state) {
|
||||
eventOnFreeFallActive.Invoke ();
|
||||
} else {
|
||||
eventOnFreeFallDeactivate.Invoke ();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/freeFallCharacterActivator.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/jetpackSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/paragliderSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/playerSphereModeSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/portableClimbRopeTriggerSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/portableWalkOnBalanceTriggerSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/railSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/railTriggerSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/rollOnLandingSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/simpleWaypointSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/slideSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/slideZoneSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/swimSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/swimTriggerSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -99,9 +99,7 @@ public class walkOnBalanceSystem : externalControllerBehavior
|
||||
|
||||
public Vector3 targetDirection;
|
||||
|
||||
public simpleWaypointSystem currentSimpleWaypointSystem;
|
||||
|
||||
public List<Transform> currentWayPoints = new List<Transform> ();
|
||||
public Vector3 currentTargetDirection;
|
||||
|
||||
public bool adjustingPlayerToMovement;
|
||||
|
||||
@@ -118,6 +116,12 @@ public class walkOnBalanceSystem : externalControllerBehavior
|
||||
|
||||
public bool jumpOnEndState;
|
||||
|
||||
[Space]
|
||||
|
||||
public simpleWaypointSystem currentSimpleWaypointSystem;
|
||||
|
||||
public List<Transform> currentWayPoints = new List<Transform> ();
|
||||
|
||||
[Space]
|
||||
[Header ("Events Settings")]
|
||||
[Space]
|
||||
@@ -176,8 +180,6 @@ public class walkOnBalanceSystem : externalControllerBehavior
|
||||
|
||||
float lastTimeReverseMovementDirectionInput;
|
||||
|
||||
Vector3 currentTargetDirection;
|
||||
|
||||
float lastTimeMoving;
|
||||
|
||||
float lastTimeNotMoving;
|
||||
@@ -190,6 +192,8 @@ public class walkOnBalanceSystem : externalControllerBehavior
|
||||
|
||||
float lastTimeWalkOnBalanceActive;
|
||||
|
||||
float lastTimeWalkOnBalanceEnd = -1;
|
||||
|
||||
bool ignoreHorizontalCameraRotationInputState;
|
||||
|
||||
|
||||
@@ -537,6 +541,10 @@ public class walkOnBalanceSystem : externalControllerBehavior
|
||||
if (lastTimeWalkOnBalanceActive > 0 && Time.time < lastTimeWalkOnBalanceActive + 1) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (lastTimeWalkOnBalanceEnd > -1 && Time.time < lastTimeWalkOnBalanceEnd + 1) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (state) {
|
||||
@@ -582,6 +590,10 @@ public class walkOnBalanceSystem : externalControllerBehavior
|
||||
|
||||
lastTimeWalkOnBalanceActive = Time.time;
|
||||
|
||||
lastTimeWalkOnBalanceEnd = -1;
|
||||
|
||||
currentTargetDirection = Vector3.zero;
|
||||
|
||||
} else {
|
||||
mainPlayerController.setCheckOnGroungPausedState (false);
|
||||
|
||||
@@ -602,6 +614,8 @@ public class walkOnBalanceSystem : externalControllerBehavior
|
||||
|
||||
ignoreHorizontalCameraRotationInputState = false;
|
||||
}
|
||||
|
||||
lastTimeWalkOnBalanceEnd = Time.time;
|
||||
}
|
||||
|
||||
mainPlayerController.setUpdate2_5dClampedPositionPausedState (state);
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/walkOnBalanceSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -26,6 +26,12 @@ public class walkOnBalanceTriggerSystem : MonoBehaviour
|
||||
public bool jumpOnEndState;
|
||||
|
||||
[Space]
|
||||
[Header ("Debug")]
|
||||
[Space]
|
||||
|
||||
public bool showDebugPrint;
|
||||
|
||||
[Space]
|
||||
[Header ("Remote Events Settings")]
|
||||
[Space]
|
||||
|
||||
@@ -36,6 +42,7 @@ public class walkOnBalanceTriggerSystem : MonoBehaviour
|
||||
public bool useRemoteEventOnEnd;
|
||||
public List<string> remoteEventNameListOnEnd = new List<string> ();
|
||||
|
||||
|
||||
GameObject currentPlayer;
|
||||
|
||||
|
||||
@@ -95,7 +102,11 @@ public class walkOnBalanceTriggerSystem : MonoBehaviour
|
||||
}
|
||||
|
||||
checkRemoteEvents (true, currentPlayer);
|
||||
}
|
||||
|
||||
if (showDebugPrint) {
|
||||
print ("checking walk on balance on enter trigger ");
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
currentPlayer = col.gameObject;
|
||||
@@ -117,7 +128,11 @@ public class walkOnBalanceTriggerSystem : MonoBehaviour
|
||||
currentMovementSystem.setJumpOnEndState (true);
|
||||
|
||||
checkRemoteEvents (false, currentPlayer);
|
||||
}
|
||||
|
||||
if (showDebugPrint) {
|
||||
print ("checking walk on balance on exit trigger ");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/walkOnBalanceTriggerSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/wallRunningSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/wallSlideJumpSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -13,7 +13,8 @@ MonoImporter:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
|
||||
2.5D
|
||||
packageVersion: 3.77h
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Player/Extra Movements/wallSlideJumpZoneSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
Reference in New Issue
Block a user