public void DestroyBricks(Vector3 center) { Collider2D[] objects = Physics2D.OverlapCircleAll(center, explosionRadius); //transform.position + center foreach (Collider2D obj in objects) { if (obj.Equals(this.gameObject.GetComponent <Collider2D>())) { continue; } BrickZero brick = obj.GetComponent <BrickZero>(); if (brick != null) { Instantiate(explosion, obj.transform.position, obj.transform.rotation); //obj.transform.position + center brick.MyDestroy(); } } }
// Update void Update() { #if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WEBPLAYER { MoveWithMouse(); } #else { if (powerManager.currentPower == PowerManager.Power.reverse && powerManager.powerStrength == PowerManager.Strength.x2) { MoveWithAccelerometer(); } else if (powerManager.currentPower == PowerManager.Power.reverse && powerManager.powerStrength == PowerManager.Strength.x3) { AutoPlay(); } else { MoveWithTouch(); } } #endif // Change State - Enlarge / Minimize if (powerManager.currentPower == PowerManager.Power.enlarge) { // Check Strength and enlarge if (powerManager.powerStrength == PowerManager.Strength.x1) { transform.localScale = new Vector3(1.5f, 1, 0); } else if (powerManager.powerStrength == PowerManager.Strength.x2) { transform.localScale = new Vector3(2f, 1, 0); } else if (powerManager.powerStrength == PowerManager.Strength.x3) { transform.localScale = new Vector3(4f, 1, 0); } ResetCollider(); paddleHalfWidth = (myCollider.size.x / 2) * transform.localScale.x; rightBorder = gameWorldWidth - paddleHalfWidth; /* * // Set Animation * myAnimator.SetTrigger("Enlarge"); * * //Set Collider * myCollider.size = new Vector2(2.5f, 0.44f); * * // Set Mouse Limits * mouseXMin = mouseEnlargeXMin; * mouseXMax = mouseEnlargeXMax; */ } else if (powerManager.currentPower == PowerManager.Power.minimize) { // Check Strength and minimize if (powerManager.powerStrength == PowerManager.Strength.x1) { transform.localScale = new Vector3(0.75f, 1, 0); } else if (powerManager.powerStrength == PowerManager.Strength.x2) { transform.localScale = new Vector3(0.5f, 1, 0); } else if (powerManager.powerStrength == PowerManager.Strength.x3) { transform.localScale = new Vector3(0.2f, 1, 0); } ResetCollider(); paddleHalfWidth = (myCollider.size.x / 2) * transform.localScale.x; rightBorder = gameWorldWidth - paddleHalfWidth; /* * // Set Animation * myAnimator.SetTrigger("Minimize"); * * //Set Collider * myCollider.size = new Vector2(1.5f, 0.44f); * * // Set Mouse Limits * mouseXMin = mouseMinimizeXMin; * mouseXMax = mouseMinimizeXMax; */ } else { // Set size if (transform.localScale.x != 1) { transform.localScale = new Vector3(1, 1, 0); ResetCollider(); paddleHalfWidth = (myCollider.size.x / 2) * transform.localScale.x; rightBorder = gameWorldWidth - paddleHalfWidth; } // Set Animation //myAnimator.SetTrigger("Normal"); //Set Collider //myCollider.size = new Vector2 (2f, 0.44f); // Set Mouse Limits //mouseXMin = mouseNormalXMin; //mouseXMax = mouseNormalXMax; } // Change State - Laser if (powerManager.currentPower == PowerManager.Power.laser) { // Check for mouse input if (PlayerInput(Controls.clickHold) && overheat == false) //Input.GetMouseButton(0) { // Check Strength and set Rate Of Fire if (powerManager.powerStrength == PowerManager.Strength.x1) { rateOfFire = rateOfFireX1; } else if (powerManager.powerStrength == PowerManager.Strength.x2) { rateOfFire = rateOfFireX2; } else if (powerManager.powerStrength == PowerManager.Strength.x3) { rateOfFire = rateOfFireX3; } if (!shootingLaser && ball.hasStarted) { InvokeRepeating("ShootLaser", 0, rateOfFire); shootingLaser = true; } } else { ResetLaser(); } if (PlayerInput(Controls.clickEnd) && !overheat) //Input.GetMouseButtonUp(0) { if (overheatShootCounter == overheatShootLimit) { Invoke("ResetOverheat", 1); } overheatShootCounter--; if (overheatShootCounter <= 0) { overheat = true; CancelInvoke("ResetOverheat"); Invoke("ResetOverheat", overheatCooldown); } //Debug.Log(overheatShootCounter); } } else { if (shootingLaser) { ResetLaser(); } } // Change State - Xplosion if (powerManager.currentPower == PowerManager.Power.xplosion) { // destroy unbreakables foreach (GameObject obj in GameObject.FindGameObjectsWithTag("Unbreakable")) { Vector3 center = (obj.GetComponent <SpriteRenderer>().bounds.center) / 18; BrickZero brick = obj.GetComponent <BrickZero>(); if (brick != null) { Instantiate(explosion, obj.transform.position + center, obj.transform.rotation); brick.MyDestroy(); } } // destroy breakables foreach (GameObject obj in GameObject.FindGameObjectsWithTag("Breakable")) { Vector3 center = (obj.GetComponent <SpriteRenderer>().bounds.center) / 18; BrickZero brick = obj.GetComponent <BrickZero>(); if (brick != null) { Instantiate(explosion, obj.transform.position + center, obj.transform.rotation); brick.MyDestroy(); } } powerManager.ResetPower(); } }