diff options
| author | Weicao-CatilGrass <1992414357@qq.com> | 2026-06-01 15:24:23 +0800 |
|---|---|---|
| committer | Weicao-CatilGrass <1992414357@qq.com> | 2026-06-01 15:24:53 +0800 |
| commit | 37618e6e39aa58130f4237995753bcf202da136a (patch) | |
| tree | 1bbce8334ee3816ef97979a512149264d470ea09 /Assets/Scripts/SoulCoreGameLoop/UI/MessageGenerator.cs | |
| parent | 442871d59f5a403616eeaa7e72bee40a17c77258 (diff) | |
完成单向门,并且修复了门不能再次关闭的BUG
Diffstat (limited to 'Assets/Scripts/SoulCoreGameLoop/UI/MessageGenerator.cs')
| -rw-r--r-- | Assets/Scripts/SoulCoreGameLoop/UI/MessageGenerator.cs | 40 |
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 |
