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); } } }