aboutsummaryrefslogtreecommitdiff
path: root/Assets/Scripts/SoulCoreGameLoop/UI
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
parent442871d59f5a403616eeaa7e72bee40a17c77258 (diff)
完成单向门,并且修复了门不能再次关闭的BUG
Diffstat (limited to 'Assets/Scripts/SoulCoreGameLoop/UI')
-rw-r--r--Assets/Scripts/SoulCoreGameLoop/UI/AreaHintGenerator.cs2
-rw-r--r--Assets/Scripts/SoulCoreGameLoop/UI/MessageGenerator.cs40
-rw-r--r--Assets/Scripts/SoulCoreGameLoop/UI/MessageGenerator.cs.meta11
3 files changed, 53 insertions, 0 deletions
diff --git a/Assets/Scripts/SoulCoreGameLoop/UI/AreaHintGenerator.cs b/Assets/Scripts/SoulCoreGameLoop/UI/AreaHintGenerator.cs
index efc5e5f..c016ad9 100644
--- a/Assets/Scripts/SoulCoreGameLoop/UI/AreaHintGenerator.cs
+++ b/Assets/Scripts/SoulCoreGameLoop/UI/AreaHintGenerator.cs
@@ -18,6 +18,8 @@ namespace SoulCoreGameLoop.UI
private void OnTriggerEnter(Collider other)
{
+ if (! other.CompareTag("Player")) return;
+
Debug.Log("AreaHintGenerator OnTriggerEnter");
// 向监听器发送消息
UIEventListener.Send(new AreaHintMessage(name));
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
diff --git a/Assets/Scripts/SoulCoreGameLoop/UI/MessageGenerator.cs.meta b/Assets/Scripts/SoulCoreGameLoop/UI/MessageGenerator.cs.meta
new file mode 100644
index 0000000..6b8c065
--- /dev/null
+++ b/Assets/Scripts/SoulCoreGameLoop/UI/MessageGenerator.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: b7e8b0c55f5e43f4da8dd4ab3c6eb639
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant: