game(scripts): standardise

This commit is contained in:
Mark Joshwel 2025-02-15 00:35:53 +08:00
parent cfbbb80549
commit 3d57dbe7b7

View file

@ -1,49 +1,48 @@
/* /*
Author: Reza * Author: Reza
Date: 7/2/25 * Date: 7/2/25
Description: General script for any message triggering areas * Description: General script for any message triggering areas
*/ */
using System.Collections; using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro; using TMPro;
using UnityEngine;
public class MessageTrigger : MonoBehaviour public class MessageTrigger : MonoBehaviour
{ {
// Defines UI references // Defines UI references
[Header("UI References")] [Header("UI References")] public GameObject storyPanelUI;
public GameObject storyPanelUI;
public TMP_Text storyText; public TMP_Text storyText;
[Header("Message Settings")] [Header("Message Settings")]
// Custom message for this trigger // Custom message for this trigger
[TextArea(3, 5)] public string message; [TextArea(3, 5)]
public string message;
// How long the message stays on screen // How long the message stays on screen
public float displayDuration = 5f; public float displayDuration = 5f;
// Has message been triggered already or not // Has the message been triggered already or not?
private bool messageTriggered = false; private bool _messageTriggered;
private void OnTriggerEnter(Collider other) private void OnTriggerEnter(Collider other)
{ {
// Shows up only if message has not been triggered and ensures only player triggers it // Shows up only if the message has not been triggered and ensures only player triggers it
if (!messageTriggered && other.CompareTag("Player")) if (_messageTriggered || !other.CompareTag("Player")) return;
{
storyPanelUI.SetActive(true); storyPanelUI.SetActive(true);
storyText.text = message; storyText.text = message;
StartCoroutine(HideMessageAfterSeconds(displayDuration)); StartCoroutine(HideMessageAfterSeconds(displayDuration));
// Prevents message triggering again // Prevents a message triggering again
messageTriggered = true; _messageTriggered = true;
}
} }
private IEnumerator HideMessageAfterSeconds(float delay) private IEnumerator HideMessageAfterSeconds(float delay)
{ {
// Waits for delay to end and hides the UI // Waits for delay to end and hides the UI
yield return new WaitForSeconds(delay); yield return new WaitForSeconds(delay);
storyPanelUI.SetActive(false); storyPanelUI.SetActive(false);
} }
} }