summaryrefslogtreecommitdiff
path: root/AlienSurvival/Assets/Scripts/Test/TestSeperator.cs
diff options
context:
space:
mode:
Diffstat (limited to 'AlienSurvival/Assets/Scripts/Test/TestSeperator.cs')
-rw-r--r--AlienSurvival/Assets/Scripts/Test/TestSeperator.cs41
1 files changed, 41 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..d1819c0
--- /dev/null
+++ b/AlienSurvival/Assets/Scripts/Test/TestSeperator.cs
@@ -0,0 +1,41 @@
+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.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;
+ bullet1.enabled = true;
+ bullet1.gameObject.SetActive(true);
+
+ TestBeamBullet bullet2 = TestBeamBullet.Instantiate(go.GetComponent<TestBeamBullet>());
+ bullet2.direction = Quaternion.Euler(0, 0, -30) * bullet2.direction;
+ bullet2.enabled = true;
+ bullet2.gameObject.SetActive(true);
+
+ m_Seperated.Add(go);
+ m_Seperated.Add(bullet1.gameObject);
+ m_Seperated.Add(bullet2.gameObject);
+ }
+ }
+
+ private void OnTriggerExit2D(Collider2D collision)
+ {
+ GameObject go = collision.gameObject;
+ if (go.CompareTag("bullet") && m_Seperated.Contains(go))
+ {
+ m_Seperated.Remove(go);
+ }
+ }
+
+}