aboutsummaryrefslogtreecommitdiff
path: root/Assets/Scripts/SoulCoreGameLoop/UI/MessageGenerator.cs
diff options
context:
space:
mode:
authorWeicao-CatilGrass <1992414357@qq.com>2026-06-01 15:24:23 +0800
committerWeicao-CatilGrass <1992414357@qq.com>2026-06-01 15:24:53 +0800
commit37618e6e39aa58130f4237995753bcf202da136a (patch)
tree1bbce8334ee3816ef97979a512149264d470ea09 /Assets/Scripts/SoulCoreGameLoop/UI/MessageGenerator.cs
parent442871d59f5a403616eeaa7e72bee40a17c77258 (diff)
完成单向门,并且修复了门不能再次关闭的BUG
Diffstat (limited to 'Assets/Scripts/SoulCoreGameLoop/UI/MessageGenerator.cs')
-rw-r--r--Assets/Scripts/SoulCoreGameLoop/UI/MessageGenerator.cs40
1 files changed, 40 insertions, 0 deletions
diff --git a/Assets/Scripts/SoulCoreGameLoop/UI/MessageGenerator.cs b/Assets/Scripts/SoulCoreGameLoop/UI/MessageGenerator.cs
new file mode 100644
index 0000000..a286273
--- /dev/null
+++ b/Assets/Scripts/SoulCoreGameLoop/UI/MessageGenerator.cs
@@ -0,0 +1,40 @@
+using UnityEngine;
+
+namespace SoulCoreGameLoop.UI
+{
+ [RequireComponent(typeof(BoxCollider))]
+ public class MessageGenerator : MonoBehaviour
+ {
+ [Header("消息")]
+ public new string message = "哈哈";
+
+ private BoxCollider _collider;
+
+ private void Awake()
+ {
+ _collider = GetComponent<BoxCollider>();
+ _collider.isTrigger = true;
+ }
+
+ private void OnTriggerEnter(Collider other)
+ {
+ if (! other.CompareTag("Player")) return;
+
+ // 向监听器发送消息
+ UIEventListener.Send(new Message(message));
+ }
+
+ private void OnDrawGizmosSelected()
+ {
+ if (_collider == null) return;
+
+ var cs = _collider.size;
+ var ts = transform.lossyScale;
+ var size = new Vector3(cs.x * ts.x, cs.y * ts.y, cs.z * ts.z);
+
+ Gizmos.color = new Color(1f, 1f, 1f, 0.5f);
+ Gizmos.matrix = transform.localToWorldMatrix;
+ Gizmos.DrawCube(_collider.center, size);
+ }
+ }
+} \ No newline at end of file