aboutsummaryrefslogtreecommitdiff
path: root/JamTools/Assets/JamTools/Scripts/Character/FPSCharacterController/WallChecker.cs
diff options
context:
space:
mode:
Diffstat (limited to 'JamTools/Assets/JamTools/Scripts/Character/FPSCharacterController/WallChecker.cs')
-rw-r--r--JamTools/Assets/JamTools/Scripts/Character/FPSCharacterController/WallChecker.cs40
1 files changed, 11 insertions, 29 deletions
diff --git a/JamTools/Assets/JamTools/Scripts/Character/FPSCharacterController/WallChecker.cs b/JamTools/Assets/JamTools/Scripts/Character/FPSCharacterController/WallChecker.cs
index 797b0b4..946c326 100644
--- a/JamTools/Assets/JamTools/Scripts/Character/FPSCharacterController/WallChecker.cs
+++ b/JamTools/Assets/JamTools/Scripts/Character/FPSCharacterController/WallChecker.cs
@@ -14,51 +14,33 @@ public class WallChecker : MonoBehaviour
}
}
- private Vector3 m_Normal;
- public Vector3 normal
+ private List<Collider> m_Colliders = new List<Collider>();
+
+ private void Update()
{
- get
+ if (m_IsOnWall && m_Colliders.Count == 0)
{
- return m_Normal;
+ m_IsOnWall = false;
}
}
- private void OnCollisionEnter(Collision collision)
- {
- Debug.Log("OnCollisionEnter");
-
- m_IsOnWall = true;
- m_Normal = collision.contacts[0].normal;
- }
-
- private void OnCollisionStay(Collision collision)
- {
- m_IsOnWall = true;
-
- }
-
- private void OnCollisionExit(Collision collision)
- {
- m_IsOnWall = false;
-
- }
-
private void OnTriggerEnter(Collider other)
{
- Debug.Log("OnCollisionEnter");
-
m_IsOnWall = true;
+
+ m_Colliders.Add(other);
}
private void OnTriggerStay(Collider other)
{
- m_IsOnWall = true;
-
}
private void OnTriggerExit(Collider other)
{
- m_IsOnWall = false;
+ if(m_Colliders.Contains(other))
+ {
+ m_Colliders.Remove(other);
+ }
}
}