game(scripts): standardise
This commit is contained in:
parent
cfbbb80549
commit
3d57dbe7b7
1 changed files with 27 additions and 28 deletions
|
@ -1,43 +1,42 @@
|
|||
/*
|
||||
Author: Reza
|
||||
Date: 7/2/25
|
||||
Description: General script for any message triggering areas
|
||||
*/
|
||||
* Author: Reza
|
||||
* Date: 7/2/25
|
||||
* Description: General script for any message triggering areas
|
||||
*/
|
||||
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
|
||||
public class MessageTrigger : MonoBehaviour
|
||||
{
|
||||
// Defines UI references
|
||||
[Header("UI References")]
|
||||
public GameObject storyPanelUI;
|
||||
[Header("UI References")] public GameObject storyPanelUI;
|
||||
|
||||
public TMP_Text storyText;
|
||||
|
||||
[Header("Message Settings")]
|
||||
// Custom message for this trigger
|
||||
[TextArea(3, 5)] public string message;
|
||||
[TextArea(3, 5)]
|
||||
public string message;
|
||||
|
||||
// How long the message stays on screen
|
||||
public float displayDuration = 5f;
|
||||
|
||||
// Has message been triggered already or not
|
||||
private bool messageTriggered = false;
|
||||
// Has the message been triggered already or not?
|
||||
private bool _messageTriggered;
|
||||
|
||||
private void OnTriggerEnter(Collider other)
|
||||
{
|
||||
// Shows up only if message has not been triggered and ensures only player triggers it
|
||||
if (!messageTriggered && other.CompareTag("Player"))
|
||||
{
|
||||
storyPanelUI.SetActive(true);
|
||||
storyText.text = message;
|
||||
StartCoroutine(HideMessageAfterSeconds(displayDuration));
|
||||
// Shows up only if the message has not been triggered and ensures only player triggers it
|
||||
if (_messageTriggered || !other.CompareTag("Player")) return;
|
||||
|
||||
// Prevents message triggering again
|
||||
messageTriggered = true;
|
||||
}
|
||||
storyPanelUI.SetActive(true);
|
||||
storyText.text = message;
|
||||
StartCoroutine(HideMessageAfterSeconds(displayDuration));
|
||||
|
||||
// Prevents a message triggering again
|
||||
_messageTriggered = true;
|
||||
}
|
||||
|
||||
private IEnumerator HideMessageAfterSeconds(float delay)
|
||||
|
|
Loading…
Add table
Reference in a new issue