using UnityEngine; public class VerticalLaser : BarBase { public GameObject verticalLaserPrefab; // Start is called once before the first execution of Update after the MonoBehaviour is created void Start() { Initialize(); } // Update is called once per frame void FixedUpdate() { if (canFire) { if (canFireTop) { Vector3 topSide = new Vector3( bounds.center.x, bounds.max.y + (bounds.size.y / 2.0f), bounds.center.z ); var top = Instantiate(verticalLaserPrefab, topSide, Quaternion.identity); var topLaserScript = top.GetComponent(); topLaserScript.canFireBottom = false; Physics2D.IgnoreCollision( top.GetComponent(), GetComponent(), true ); } if (canFireBottom) { Vector3 bottomSide = new Vector3( bounds.center.x, bounds.min.y - (bounds.size.y / 2.0f), bounds.center.z ); var bottom = Instantiate(verticalLaserPrefab, bottomSide, Quaternion.identity); var bottomLaserScript = bottom.GetComponent(); bottomLaserScript.canFireTop = false; Physics2D.IgnoreCollision( bottom.GetComponent(), GetComponent(), true ); } canFire = false; } } }