public void TakeDamage(bool powerHit) { // Takes away hitpoints if (powerHit) { this.hitPoints -= 2; } else { this.hitPoints -= 1; } if (this.hitPoints <= 0 || powerHit) { this.hit = false; // This destroys any given brick. BrickManager.Instance.RemainingBricks.Remove(this); OnBrickDestruction?.Invoke(this); OnBrickDestroy(); SpawnDestroyEffect(); Destroy(this.gameObject); } else { // Initialize the tracker and mark the given brick as `hit` this.timeTracker = 0.0f; this.hit = true; } }
private void CollisionLogic(Ball ball) { this.hitPoints--; if (this.hitPoints <= 0) { BrickManager.Instance.RemainingBricks.Remove(this); OnBrickDestruction?.Invoke(this); SpawnDestroyEffect(); Destroy(this.gameObject); } else { sr.sprite = BrickManager.Instance.Sprites[this.hitPoints - 1]; } }
private void ApplyCollisionLogic(Ball ball) { this.hitpoint--; if (this.hitpoint <= 0) { OnBrickDestruction?.Invoke(this); SpawnDestroyEffect(); Destroy(this.gameObject); } else { this.sr.sprite = BricksManager.Instance.Sprites[this.hitpoint - 1]; } }
private void ApplyCollisionLogic(BallHandler ball) { this.Hitpoints--; if (this.Hitpoints <= 0) { BricksManager.Instance.remainingBricks.Remove(this); OnBrickDestruction?.Invoke(this); SpawnDestroyEffect(); Destroy(this.gameObject); } else { this.spriteRenderer.sprite = BricksManager.Instance.sprites[this.Hitpoints - 1]; } }
private void TakeDamage(bool instantKill) // This method name was BallCollisionLogic { this.HitPoints--; if (this.HitPoints <= 0 || instantKill) { BricksManager.Instance.RemainingBricks.Remove(this); OnBrickDestruction?.Invoke(this); OnBrickDestroy(); SpawnDestroyEffect(); Destroy(this.gameObject); } else { this.sr.sprite = BricksManager.Instance.Sprites[this.HitPoints - 1]; } }
private void TakeDamage(bool instantKill) { this.Hitpoints--; if (this.Hitpoints <= 0 || instantKill) { BricksManager.Instance.RemainingBricks.Remove(this); OnBrickDestruction?.Invoke(this); OnBrickDestroyBuffSpawn(); SpawnDestroyEffect(); Destroy(this.gameObject); } else { this.sr.sprite = BricksManager.Instance.Sprites[this.Hitpoints - 1]; } }
private void ApplyCollisionLogic(Ball ball) { this.Hitpoints--; if (this.Hitpoints <= 0) { BricksManager.Instance.RemainingBricks.Remove(this); OnBrickDestruction?.Invoke(this); OnBrickDestroy(); SpawnDestroyEffect(); //particle system trigger Destroy(this.gameObject); } else { this.sr.sprite = BricksManager.Instance.Sprites[this.Hitpoints - 1];//sprite change } }
private void ApplyCollisionLogic(Ball ball) { this.HitPoints--; if (this.HitPoints <= 0 || (ball != null && ball.isLightningBall)) { BrickManager.Instance.RemainingBricks.Remove(this); OnBrickDestruction?.Invoke(this); OnBrickDestroy(); SpawanDestroyEffect(); Destroy(this.gameObject); } else { this.sr.sprite = BrickManager.Instance.Sprites[this.HitPoints - 1]; } }
private void ApplyCollisionLogic(Ball ball) { this.HitPoints--; if (this.HitPoints <= 0) { // Removing all the bricks from Remainig bricks collection BricksManager.Instance.RemainingBricks.Remove(this); OnBrickDestruction?.Invoke(this); // playing sound brickhit SoundManager.PlaySound("brickhit"); SpawnDestroyEffect(); Destroy(this.gameObject); } else { // chnage the sprite this.sr.sprite = BricksManager.Instance.Sprites[this.HitPoints - 1]; } }
private void TakeDamage(Ball ball) { hitPoints--; if (hitPoints <= 0) { //TODO: Destroy Effect OnBrickDestruction?.Invoke(this); _rayfireRigid.Demolish(); ball.GetComponent <RayfireBomb>().Explode(0); foreach (var rayfireRigid in _rayfireRigid.fragments) { rayfireRigid.gameObject.GetComponent <MeshCollider>().enabled = false; } } else { //TODO: Damaged brick effect and graphics } }
private void BallCollisionLogic(Ball theBall) { this.HitPoints--; if (this.HitPoints <= 0 || theBall.isFireball) { LevelManager.Instance.RemainingBricks.Remove(this); OnBrickDestruction?.Invoke(this); OnBrickDestroy(); // Spawn Particle effect and destroy it after 4 seconds GameObject newEffect = Instantiate(DestroyEffect.gameObject, new Vector3(this.gameObject.transform.position.x, this.gameObject.transform.position.y, this.gameObject.transform.position.z - 0.2f), Quaternion.identity) as GameObject; ParticleSystem ps = newEffect.GetComponent <ParticleSystem>(); ps.startColor = this.sr.color; Destroy(newEffect, DestroyEffect.startLifetime); Destroy(this.gameObject); } else { this.sr.sprite = this.levelManager.Sprites[this.HitPoints - 1]; } }