summaryrefslogtreecommitdiff
path: root/AlienSurvival/Assets/Scripts/Test/TestMirror.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2022-04-04 22:46:06 +0800
committerchai <chaifix@163.com>2022-04-04 22:46:06 +0800
commitdab7fde2eda6bf2a4498fdd8ab76f27c4ea0a348 (patch)
tree62eb90699ad042065d40f42c34f1b24fc41a2a83 /AlienSurvival/Assets/Scripts/Test/TestMirror.cs
parent95e53fb288e821321584f64cc345032fe4612f2d (diff)
* test
Diffstat (limited to 'AlienSurvival/Assets/Scripts/Test/TestMirror.cs')
-rw-r--r--AlienSurvival/Assets/Scripts/Test/TestMirror.cs30
1 files changed, 30 insertions, 0 deletions
diff --git a/AlienSurvival/Assets/Scripts/Test/TestMirror.cs b/AlienSurvival/Assets/Scripts/Test/TestMirror.cs
new file mode 100644
index 0000000..25ea3db
--- /dev/null
+++ b/AlienSurvival/Assets/Scripts/Test/TestMirror.cs
@@ -0,0 +1,30 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class TestMirror : MonoBehaviour
+{
+ HashSet<GameObject> m_Mirrored = new HashSet<GameObject>();
+
+ private void OnTriggerEnter2D(Collider2D collision)
+ {
+ GameObject go = collision.attachedRigidbody.gameObject;
+ if (go && go.CompareTag("bullet") && !m_Mirrored.Contains(go))
+ {
+ //Debug.Log("mirror");
+
+ go.GetComponent<TestBeamBullet>().direction.x = -go.GetComponent<TestBeamBullet>().direction.x;
+
+ m_Mirrored.Add(go);
+ }
+ }
+
+ private void OnTriggerExit2D(Collider2D collision)
+ {
+ GameObject go = collision.attachedRigidbody.gameObject;
+ if (go && go.CompareTag("bullet") && m_Mirrored.Contains(go))
+ {
+ m_Mirrored.Remove(go);
+ }
+ }
+}