summaryrefslogtreecommitdiff
path: root/AlienSurvival/Assets/Scripts/Test/TestSeperator.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/TestSeperator.cs
parent95e53fb288e821321584f64cc345032fe4612f2d (diff)
* test
Diffstat (limited to 'AlienSurvival/Assets/Scripts/Test/TestSeperator.cs')
-rw-r--r--AlienSurvival/Assets/Scripts/Test/TestSeperator.cs37
1 files changed, 37 insertions, 0 deletions
diff --git a/AlienSurvival/Assets/Scripts/Test/TestSeperator.cs b/AlienSurvival/Assets/Scripts/Test/TestSeperator.cs
new file mode 100644
index 0000000..4f96379
--- /dev/null
+++ b/AlienSurvival/Assets/Scripts/Test/TestSeperator.cs
@@ -0,0 +1,37 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class TestSeperator : MonoBehaviour
+{
+ HashSet<GameObject> m_Seperated = new HashSet<GameObject>();
+
+ private void OnTriggerEnter2D(Collider2D collision)
+ {
+ GameObject go = collision.attachedRigidbody.gameObject;
+ if (go && go.CompareTag("bullet") && !m_Seperated.Contains(go))
+ {
+ //Debug.Log("seperate");
+
+ TestBeamBullet bullet1 = TestBeamBullet.Instantiate(go.GetComponent<TestBeamBullet>());
+ bullet1.direction = Quaternion.Euler(0,0, 30) * bullet1.direction;
+
+ TestBeamBullet bullet2 = TestBeamBullet.Instantiate(go.GetComponent<TestBeamBullet>());
+ bullet2.direction = Quaternion.Euler(0, 0, -30) * bullet2.direction;
+
+ m_Seperated.Add(go);
+ m_Seperated.Add(bullet1.gameObject);
+ m_Seperated.Add(bullet2.gameObject);
+ }
+ }
+
+ private void OnTriggerExit2D(Collider2D collision)
+ {
+ GameObject go = collision.attachedRigidbody.gameObject;
+ if (go.CompareTag("bullet") && m_Seperated.Contains(go))
+ {
+ m_Seperated.Remove(go);
+ }
+ }
+
+}