diff options
| author | chai <215380520@qq.com> | 2024-05-20 22:36:58 +0800 |
|---|---|---|
| committer | chai <215380520@qq.com> | 2024-05-20 22:36:58 +0800 |
| commit | a22c505984697881f5f911a165ee022087b69e09 (patch) | |
| tree | d3c030aef1ae9b8a01c889dd2902bb1e3324e72b /Thronefall_1_0/Decompile/SuspendPlayerCollisionUntilNoOverlap.cs | |
| parent | 4a4cc82d069b26bc4d4532e73860f86b211ca239 (diff) | |
Diffstat (limited to 'Thronefall_1_0/Decompile/SuspendPlayerCollisionUntilNoOverlap.cs')
| -rw-r--r-- | Thronefall_1_0/Decompile/SuspendPlayerCollisionUntilNoOverlap.cs | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/Thronefall_1_0/Decompile/SuspendPlayerCollisionUntilNoOverlap.cs b/Thronefall_1_0/Decompile/SuspendPlayerCollisionUntilNoOverlap.cs deleted file mode 100644 index a822b9e..0000000 --- a/Thronefall_1_0/Decompile/SuspendPlayerCollisionUntilNoOverlap.cs +++ /dev/null @@ -1,96 +0,0 @@ -using System.Collections.Generic; -using UnityEngine; - -public class SuspendPlayerCollisionUntilNoOverlap : MonoBehaviour -{ - public bool triggerOnEnable = true; - - public LayerMask scanLayer; - - private List<Collider> targetColliders = new List<Collider>(); - - private Collider[] overlaps; - - private bool suspended; - - private CharacterController trackedTarget; - - private void Awake() - { - targetColliders.AddRange(GetComponentsInChildren<Collider>()); - for (int num = targetColliders.Count - 1; num >= 0; num--) - { - if (targetColliders[num].isTrigger) - { - targetColliders.RemoveAt(num); - } - } - } - - private void OnEnable() - { - if (triggerOnEnable) - { - Trigger(); - } - } - - public void Trigger() - { - if (!PlayerManager.Instance) - { - return; - } - suspended = true; - PlayerMovement closestPlayer = PlayerManager.GetClosestPlayer(base.transform.position); - if ((bool)closestPlayer) - { - trackedTarget = closestPlayer.GetComponent<CharacterController>(); - } - foreach (Collider targetCollider in targetColliders) - { - targetCollider.isTrigger = true; - } - } - - private void SwitchBack() - { - suspended = false; - foreach (Collider targetCollider in targetColliders) - { - targetCollider.isTrigger = false; - } - } - - private void Update() - { - if (!suspended) - { - return; - } - if ((bool)trackedTarget) - { - float num = trackedTarget.height / 2f; - Vector3 point = trackedTarget.transform.position + Vector3.down * num; - Vector3 point2 = trackedTarget.transform.position + Vector3.up * num; - overlaps = Physics.OverlapCapsule(point, point2, trackedTarget.radius, scanLayer, QueryTriggerInteraction.Collide); - bool flag = true; - Collider[] array = overlaps; - foreach (Collider item in array) - { - if (targetColliders.Contains(item)) - { - flag = false; - } - } - if (flag) - { - SwitchBack(); - } - } - else - { - SwitchBack(); - } - } -} |
