aboutsummaryrefslogtreecommitdiff
path: root/Assets/Scripts/SoulCoreGameLoop/UI/MessageGenerator.cs
diff options
context:
space:
mode:
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