From 37618e6e39aa58130f4237995753bcf202da136a Mon Sep 17 00:00:00 2001 From: Weicao-CatilGrass <1992414357@qq.com> Date: Mon, 1 Jun 2026 15:24:23 +0800 Subject: 完成单向门,并且修复了门不能再次关闭的BUG MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SoulCoreGameLoop/UI/MessageGenerator.cs | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 Assets/Scripts/SoulCoreGameLoop/UI/MessageGenerator.cs (limited to 'Assets/Scripts/SoulCoreGameLoop/UI/MessageGenerator.cs') 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(); + _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 -- cgit