diff --git a/RunningLateGame/Assets/Scripts/AerialFaithDeathTrigger.cs b/RunningLateGame/Assets/Scripts/AerialFaithDeathTrigger.cs index 9172704..9562f48 100644 --- a/RunningLateGame/Assets/Scripts/AerialFaithDeathTrigger.cs +++ b/RunningLateGame/Assets/Scripts/AerialFaithDeathTrigger.cs @@ -4,6 +4,7 @@ * description: trigger to detect if the player did not land in an aerial faith landing trigger */ +using System; using UnityEngine; /// @@ -14,7 +15,17 @@ public class AerialFaithDeathTrigger : MonoBehaviour /// /// the trigger that detects if the player has jumped out of the play area /// - [SerializeField] private AerialFaithJumpTrigger linkedJumpTrigger; + [SerializeField] private AerialFaithLeapTrigger linkedLeapTrigger; + + /// + /// check if linkedLeapTrigger is set + /// + /// consequential exception + private void Awake() + { + if (linkedLeapTrigger == null) + throw new NullReferenceException("AerialFaithLandingTrigger: linkedLeapTrigger is not set"); + } /// /// detect if player has entered the trigger @@ -22,8 +33,24 @@ public class AerialFaithDeathTrigger : MonoBehaviour /// colliding game object private void OnTriggerEnter(Collider other) { - if (!other.CompareTag("Player") || !linkedJumpTrigger.isPlayerInAir) return; + // Debug.Log($"AerialFaithDeathTrigger: was hit by object with tag {other.tag}"); + + if (!other.CompareTag("Player") || !linkedLeapTrigger.isPlayerInAir) return; + + // if (!other.CompareTag("Player")) + // { + // Debug.Log("AerialFaithDeathTrigger: player missed"); + // return; + // } + // + // if (!linkedLeapTrigger.isPlayerInAir) + // { + // Debug.Log("AerialFaithDeathTrigger: player is in an invalid state"); + // return; + // } + Debug.Log("AerialFaithDeathTrigger: player missed, and will be baked"); + linkedLeapTrigger.isPlayerInAir = false; // TODO: kill player } } \ No newline at end of file diff --git a/RunningLateGame/Assets/Scripts/AerialFaithLandingTrigger.cs b/RunningLateGame/Assets/Scripts/AerialFaithLandingTrigger.cs index 13d0397..0bf00dd 100644 --- a/RunningLateGame/Assets/Scripts/AerialFaithLandingTrigger.cs +++ b/RunningLateGame/Assets/Scripts/AerialFaithLandingTrigger.cs @@ -4,6 +4,7 @@ * description: trigger to detect if the player landed in a specific area */ +using System; using UnityEngine; /// @@ -14,7 +15,17 @@ public class AerialFaithLandingTrigger : MonoBehaviour /// /// the trigger that detects if the player has jumped out of the play area /// - [SerializeField] private AerialFaithJumpTrigger linkedJumpTrigger; + [SerializeField] private AerialFaithLeapTrigger linkedLeapTrigger; + + /// + /// check if linkedLeapTrigger is set + /// + /// consequential exception + private void Awake() + { + if (linkedLeapTrigger == null) + throw new NullReferenceException("AerialFaithLandingTrigger: linkedLeapTrigger is not set"); + } /// /// detect if player has entered the trigger @@ -22,8 +33,9 @@ public class AerialFaithLandingTrigger : MonoBehaviour /// colliding game object private void OnTriggerEnter(Collider other) { - if (!other.CompareTag("Player") || !linkedJumpTrigger.isPlayerInAir) return; + // Debug.Log($"AerialFaithLandingTrigger: was hit by object with tag {other.tag}"); + if (!other.CompareTag("Player") || !linkedLeapTrigger.isPlayerInAir) return; Debug.Log("AerialFaithLandingTrigger: player landed"); - linkedJumpTrigger.isPlayerInAir = false; + linkedLeapTrigger.isPlayerInAir = false; } } \ No newline at end of file diff --git a/RunningLateGame/Assets/Scripts/AerialFaithJumpTrigger.cs b/RunningLateGame/Assets/Scripts/AerialFaithLeapTrigger.cs similarity index 73% rename from RunningLateGame/Assets/Scripts/AerialFaithJumpTrigger.cs rename to RunningLateGame/Assets/Scripts/AerialFaithLeapTrigger.cs index 3d5809f..eb0b199 100644 --- a/RunningLateGame/Assets/Scripts/AerialFaithJumpTrigger.cs +++ b/RunningLateGame/Assets/Scripts/AerialFaithLeapTrigger.cs @@ -9,7 +9,7 @@ /// /// detection behaviour class /// -public class AerialFaithJumpTrigger : MonoBehaviour +public class AerialFaithLeapTrigger : MonoBehaviour { /// /// bool to check if player is airborne @@ -22,7 +22,8 @@ public class AerialFaithJumpTrigger : MonoBehaviour /// colliding game object private void OnTriggerExit(Collider other) { - if (other.CompareTag("Player")) isPlayerInAir = true; - Debug.Log("AerialFaithJumpTrigger: player is airborne"); + if (!other.CompareTag("Player")) return; + isPlayerInAir = true; + Debug.Log("AerialFaithLeapTrigger: player is airborne"); } } \ No newline at end of file diff --git a/RunningLateGame/Assets/Scripts/AerialFaithJumpTrigger.cs.meta b/RunningLateGame/Assets/Scripts/AerialFaithLeapTrigger.cs.meta similarity index 100% rename from RunningLateGame/Assets/Scripts/AerialFaithJumpTrigger.cs.meta rename to RunningLateGame/Assets/Scripts/AerialFaithLeapTrigger.cs.meta