Esempio n. 1
0
    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);
    }
Esempio n. 2
0
    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);
    }