public void Explode() { for (int index = 0; index <= (int)Weapon.WeaponOrder.Left; index++) { Godot.Collections.Array <Weapon> weapons = GetWeapons((Weapon.WeaponOrder)index); foreach (Weapon weapon in weapons) { if (weapon != null) { weapon.Deinitialize(); } } } CollisionShape2D collisionShape2D = (CollisionShape2D)GetNode("CollisionShape2D"); collisionShape2D.Disabled = true; Alive = false; Sprite body = (Sprite)GetNode("Body"); body.Hide(); RemainParticles remainParticles = (RemainParticles)((PackedScene)GD.Load("res://effects/RemainParticles.tscn")).Instance(); remainParticles.GlobalPosition = this.GlobalPosition; _gameWorld.GetNode("RemainEffectManager").AddChild(remainParticles); AgentExplosionParticle agentExplosionParticle = (AgentExplosionParticle)GetNode("AgentExplosionParticle"); agentExplosionParticle.SetTrigger(true); AnimatedSprite animatedSprite = (AnimatedSprite)GetNode("Explosion"); animatedSprite.Show(); animatedSprite.Play("fire"); AudioManager audioManager = (AudioManager)GetNode("/root/AUDIOMANAGER"); audioManager.playSoundEffect(explosionMusicClip); }
public void explode() { CollisionShape2D collisionShape2D = (CollisionShape2D)GetNode("CollisionShape2D"); collisionShape2D.CallDeferred("set", "disabled", true); Sprite icon = (Sprite)GetNode("Icon"); icon.Hide(); AnimatedSprite animatedSprite = (AnimatedSprite)GetNode("Explosion"); animatedSprite.Show(); animatedSprite.Play("fire"); RemainParticles remainParticles = (RemainParticles)((PackedScene)GD.Load("res://effects/RemainParticles.tscn")).Instance(); remainParticles.GlobalPosition = this.GlobalPosition; GetParent().GetParent().GetNode("RemainEffectManager").AddChild(remainParticles); AudioManager audioManager = (AudioManager)GetNode("/root/AUDIOMANAGER"); audioManager.playSoundEffect(explosionMusicClip); }