add ckg
plantilla base para movimiento básico
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class autoGrabLedgeTriggerSystem : MonoBehaviour
|
||||
{
|
||||
[Header ("Main Settings")]
|
||||
[Space]
|
||||
|
||||
public string tagToCheck;
|
||||
public bool ledgeZoneActive = true;
|
||||
|
||||
public Transform ledgeTransform;
|
||||
|
||||
GameObject currentPlayer;
|
||||
climbLedgeSystem climbLedgeManager;
|
||||
|
||||
|
||||
void OnTriggerEnter (Collider col)
|
||||
{
|
||||
checkTriggerInfo (col, true);
|
||||
}
|
||||
|
||||
// void OnTriggerExit (Collider col)
|
||||
// {
|
||||
// checkTriggerInfo (col, false);
|
||||
// }
|
||||
|
||||
public void checkTriggerInfo (Collider col, bool isEnter)
|
||||
{
|
||||
if (!ledgeZoneActive) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!col.gameObject.CompareTag (tagToCheck)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (isEnter) {
|
||||
currentPlayer = col.gameObject;
|
||||
|
||||
playerComponentsManager mainPlayerComponentsManager = currentPlayer.GetComponent<playerComponentsManager> ();
|
||||
|
||||
if (mainPlayerComponentsManager != null) {
|
||||
climbLedgeManager = mainPlayerComponentsManager.getClimbLedgeSystem ();
|
||||
}
|
||||
|
||||
if (climbLedgeManager == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
climbLedgeManager.activateGrabToSurfaceActionExternally (true, ledgeTransform);
|
||||
} else {
|
||||
currentPlayer = col.gameObject;
|
||||
|
||||
playerComponentsManager mainPlayerComponentsManager = currentPlayer.GetComponent<playerComponentsManager> ();
|
||||
|
||||
if (mainPlayerComponentsManager != null) {
|
||||
climbLedgeManager = mainPlayerComponentsManager.getClimbLedgeSystem ();
|
||||
}
|
||||
|
||||
if (climbLedgeManager == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
climbLedgeManager.activateGrabToSurfaceActionExternally (false, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 155603881ec1fdb45ba5f037d2597c97
|
||||
timeCreated: 1707965395
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Climb System/autoGrabLedgeTriggerSystem.cs
|
||||
uploadId: 814740
|
||||
2228
Assets/Game Kit Controller/Scripts/Climb System/climbLedgeSystem.cs
Normal file
2228
Assets/Game Kit Controller/Scripts/Climb System/climbLedgeSystem.cs
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,19 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 036b2d8f48a270f4aa19661fe4b8bdb2
|
||||
timeCreated: 1552457766
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Climb System/climbLedgeSystem.cs
|
||||
uploadId: 814740
|
||||
@@ -0,0 +1,114 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class ledgeZoneSystem : MonoBehaviour
|
||||
{
|
||||
[Header ("Main Settings")]
|
||||
[Space]
|
||||
|
||||
public string tagToCheck;
|
||||
public bool ledgeZoneActive = true;
|
||||
public Vector3 checkDownRaycastOffset;
|
||||
public float climbLedgeForwardRayDistance;
|
||||
public float climbLedgeDownRayDistance;
|
||||
|
||||
[Space]
|
||||
[Header ("Other Settings")]
|
||||
[Space]
|
||||
|
||||
public bool ledgeZoneCanBeClimbed = true;
|
||||
|
||||
public bool avoidPlayerGrabLedge;
|
||||
|
||||
public bool canCheckForHangFromLedgeOnGround = true;
|
||||
|
||||
public bool onlyHangFromLedgeIfPlayerIsNotMoving = true;
|
||||
|
||||
public bool canGrabAnySurfaceOnAirActive = true;
|
||||
|
||||
GameObject currentPlayer;
|
||||
climbLedgeSystem climbLedgeManager;
|
||||
|
||||
|
||||
void OnTriggerEnter (Collider col)
|
||||
{
|
||||
checkTriggerInfo (col, true);
|
||||
}
|
||||
|
||||
void OnTriggerExit (Collider col)
|
||||
{
|
||||
checkTriggerInfo (col, false);
|
||||
}
|
||||
|
||||
public void checkTriggerInfo (Collider col, bool isEnter)
|
||||
{
|
||||
if (!ledgeZoneActive) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!col.gameObject.CompareTag (tagToCheck)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (isEnter) {
|
||||
currentPlayer = col.gameObject;
|
||||
|
||||
playerComponentsManager mainPlayerComponentsManager = currentPlayer.GetComponent<playerComponentsManager> ();
|
||||
|
||||
if (mainPlayerComponentsManager != null) {
|
||||
climbLedgeManager = mainPlayerComponentsManager.getClimbLedgeSystem ();
|
||||
}
|
||||
|
||||
if (climbLedgeManager == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (avoidPlayerGrabLedge) {
|
||||
climbLedgeManager.setAvoidPlayerGrabLedgeValue (true);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
climbLedgeManager.setLedgeZoneFoundState (true);
|
||||
climbLedgeManager.setNewRaycastDistance (climbLedgeForwardRayDistance, climbLedgeDownRayDistance, checkDownRaycastOffset);
|
||||
|
||||
climbLedgeManager.setCanClimbCurrentLedgeZoneState (ledgeZoneCanBeClimbed);
|
||||
|
||||
climbLedgeManager.setCanCheckForHangFromLedgeOnGroundState (canCheckForHangFromLedgeOnGround);
|
||||
|
||||
climbLedgeManager.setOnlyHangFromLedgeIfPlayerIsNotMovingValue (onlyHangFromLedgeIfPlayerIsNotMoving);
|
||||
|
||||
climbLedgeManager.setCanGrabAnySurfaceOnAirActiveState (canGrabAnySurfaceOnAirActive);
|
||||
} else {
|
||||
currentPlayer = col.gameObject;
|
||||
|
||||
playerComponentsManager mainPlayerComponentsManager = currentPlayer.GetComponent<playerComponentsManager> ();
|
||||
|
||||
if (mainPlayerComponentsManager != null) {
|
||||
climbLedgeManager = mainPlayerComponentsManager.getClimbLedgeSystem ();
|
||||
}
|
||||
|
||||
if (climbLedgeManager == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (avoidPlayerGrabLedge) {
|
||||
climbLedgeManager.setAvoidPlayerGrabLedgeValue (false);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
climbLedgeManager.setLedgeZoneFoundState (false);
|
||||
climbLedgeManager.setOriginalRaycastDistance ();
|
||||
|
||||
climbLedgeManager.setCanClimbCurrentLedgeZoneState (true);
|
||||
|
||||
climbLedgeManager.setCanCheckForHangFromLedgeOnGroundState (true);
|
||||
|
||||
climbLedgeManager.setOnlyHangFromLedgeIfPlayerIsNotMovingOriginalValue ();
|
||||
|
||||
climbLedgeManager.setCanGrabAnySurfaceOnAirActiveState (true);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 07023d1378076a840a7f53aa2c65216a
|
||||
timeCreated: 1552985240
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 40995
|
||||
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
|
||||
packageVersion: 3.77g
|
||||
assetPath: Assets/Game Kit Controller/Scripts/Climb System/ledgeZoneSystem.cs
|
||||
uploadId: 814740
|
||||
Reference in New Issue
Block a user