diff options
Diffstat (limited to 'SurvivalTest/Assets/Scripts/Test/TestMirror.cs')
-rw-r--r-- | SurvivalTest/Assets/Scripts/Test/TestMirror.cs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/SurvivalTest/Assets/Scripts/Test/TestMirror.cs b/SurvivalTest/Assets/Scripts/Test/TestMirror.cs new file mode 100644 index 0000000..832c785 --- /dev/null +++ b/SurvivalTest/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.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.gameObject; + if (go && go.CompareTag("bullet") && m_Mirrored.Contains(go)) + { + m_Mirrored.Remove(go); + } + } +} |