internal virtual void GoBoom() { if (spriteRend.isVisible) { Camera2DFollow.followControl.Shake(0.2f, 0.2f); } // Instantiate a clone of the source so that multiple explosions can play at the same time. spriteRend.enabled = false; try { registerTile.Unregister(); PushPull oA = gameObject.GetComponent <PushPull>(); if (oA != null) { if (oA.pusher == PlayerManager.LocalPlayer) { PlayerManager.LocalPlayerScript.playerMove.IsPushing = false; } oA.isPushable = false; } } catch { Logger.LogWarning("Object may of already been removed", Category.Health); } foreach (Collider2D collider2d in gameObject.GetComponents <Collider2D>()) { collider2d.enabled = false; } string name = explosions[Random.Range(0, explosions.Length)]; AudioSource source = SoundManager.Instance[name]; if (source != null) { Instantiate(source, transform.position, Quaternion.identity).Play(); } GameObject fireRing = Resources.Load <GameObject>("effects/FireRing"); Instantiate(fireRing, transform.position, Quaternion.identity); GameObject lightFx = Resources.Load <GameObject>("lighting/BoomLight"); lightFxInstance = Instantiate(lightFx, transform.position, Quaternion.identity); lightSprite = lightFxInstance.GetComponentInChildren <LightSprite>(); lightSprite.fadeFX(1f); SetFire(); }
internal virtual void GoBoom() { if (spriteRend.isVisible) { Camera2DFollow.followControl.Shake(0.2f, 0.2f); } // Instantiate a clone of the source so that multiple explosions can play at the same time. spriteRend.enabled = false; try{ Matrix.Matrix.At(transform.position).TryRemoveTile(gameObject); ObjectActions oA = gameObject.GetComponent <ObjectActions>(); if (oA != null) { if (oA.pusher == PlayerManager.LocalPlayer) { PlayerManager.LocalPlayerScript.playerMove.isPushing = false; } oA.isPushable = false; } } catch { Debug.LogWarning("Object may of already been removed"); } Collider2D[] getColls = gameObject.GetComponents <Collider2D>(); for (int i = 0; i < getColls.Length; i++) { getColls[i].enabled = false; } var name = explosions[Random.Range(0, explosions.Length)]; var source = SoundManager.Instance[name]; if (source != null) { Instantiate <AudioSource>(source, transform.position, Quaternion.identity).Play(); } var fireRing = Resources.Load <GameObject>("effects/FireRing"); Instantiate(fireRing, transform.position, Quaternion.identity); var lightFx = Resources.Load <GameObject>("lighting/BoomLight"); lightFxInstance = Instantiate(lightFx, transform.position, Quaternion.identity); lightSprite = lightFxInstance.GetComponentInChildren <LightSprite>(); lightSprite.fadeFX(1f); SetFire(); }