diff options
author | chai <chaifix@163.com> | 2022-04-22 19:24:15 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2022-04-22 19:24:15 +0800 |
commit | ded822e98e8eda49618d17e53407b0df1896e539 (patch) | |
tree | d7f09eafe52f7adb948889e459e900c360dbbdec /SurvivalTest/Assets/Scripts/Test/TestSeperator.cs | |
parent | c7de0419a8924ae7333bcaed39e797d7c9fc1e69 (diff) |
* rename AlienSurvival project to SurvivalTest
Diffstat (limited to 'SurvivalTest/Assets/Scripts/Test/TestSeperator.cs')
-rw-r--r-- | SurvivalTest/Assets/Scripts/Test/TestSeperator.cs | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/SurvivalTest/Assets/Scripts/Test/TestSeperator.cs b/SurvivalTest/Assets/Scripts/Test/TestSeperator.cs new file mode 100644 index 0000000..d1819c0 --- /dev/null +++ b/SurvivalTest/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); + } + } + +} |