using UnityEngine; public class VerticalBar : BarBase { public GameObject verticalBarrierPrefab; // 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) { firingTimer += Time.fixedDeltaTime; if (firingTimer >= firingSpeed) { if (canFireTop) { Vector3 topSide = new Vector3( bounds.center.x, bounds.max.y + (bounds.size.y / 2.0f), bounds.center.z ); var top = Instantiate(verticalBarrierPrefab, topSide, Quaternion.identity); var topBarScript = top.GetComponent(); topBarScript.firingSpeed = firingSpeed; topBarScript.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(verticalBarrierPrefab, bottomSide, Quaternion.identity); var bottomBarScript = bottom.GetComponent(); bottomBarScript.firingSpeed = firingSpeed; bottomBarScript.canFireTop = false; Physics2D.IgnoreCollision( bottom.GetComponent(), GetComponent(), true ); } canFire = false; } } } }