Ejemplo n.º 1
0
    // Kills the gnome.
    void KillGnome(Gnome.DamageType damageType)
    {
        // If we have an audio source, play "gnome died" sound
        var audio = GetComponent <AudioSource>();

        if (audio)
        {
            audio.PlayOneShot(this.gnomeDiedSound);
        }

        // Show the damage effect
        currentGnome.ShowDamageEffect(damageType);



        // If we're not invincible, reset the game and make
        // the gnome not be the current player.
        if (gnomeInvincible == false)
        {
            // Tell the gnome that it died
            currentGnome.DestroyGnome(damageType);

            // Reset the game
            StartCoroutine("ResetAfterDelay");
            StopGnome();
        }
    }
Ejemplo n.º 2
0
    // 杀死矮人
    void KillGnome(Gnome.DamageType damageType)
    {
        // 播放死亡音效
        var audio = GetComponent <AudioSource>();

        if (audio)
        {
            audio.PlayOneShot(this.gnomeDiedSound);
        }

        // 显示伤害效果
        currentGnome.ShowDamageEffect(damageType);

        // 如果不处于无敌状态
        if (gnomeInvincible == false)
        {
            // 根据伤害类型摧毁矮人
            currentGnome.DestroyGnome(damageType);

            // 移除矮人
            RemoveGnome();

            // 一段时间后重设游戏
            StartCoroutine(ResetAfterDelay());
        }
    }
    // Убивает гномика.
    void KillGnome(Gnome.DamageType damageType)
    {
        // Если задан источник звука, проиграть звук "гибель гномика"
        var audio = GetComponent <AudioSource>();

        if (audio)
        {
            audio.PlayOneShot(this.gnomeDiedSound);
        }

        // Показать эффект действия ловушки
        currentGnome.ShowDamageEffect(damageType);

        // Если гномик уязвим, сбросить игру
        // и исключить гномика из игры,
        if (gnomeInvincible == false)
        {
            // Сообщить гномику, что он погиб
            currentGnome.DestroyGnome(damageType);

            // Удалить гномика
            RemoveGnome();

            // Сбросить игру
            StartCoroutine(ResetAfterDelay());
        }
    }
Ejemplo n.º 4
0
    public void ApplyDamageSprite(Gnome.DamageType damageType)
    {
        Sprite spriteToUse = null;

        switch (damageType)
        {
        case Gnome.DamageType.Burning: {
            spriteToUse = this.burnedSprite;
            break;
        }

        case Gnome.DamageType.Slicing: {
            spriteToUse = this.detachedSprite;
            break;
        }

        default: {
            break;
        }
        }

        if (spriteToUse != null)
        {
            GetComponent <SpriteRenderer>().sprite = spriteToUse;
        }
    }
Ejemplo n.º 5
0
    void KillGnome(Gnome.DamageType damageType)
    {
        var audio = GetComponent <AudioSource>();

        if (audio)
        {
            audio.PlayOneShot(this.gnomeDiedSound);
        }
        currentGnome.ShowDamageEffect(damageType);
        if (gnomeInvincible == false)
        {
            currentGnome.DestroyGnome(damageType);
            RemoveGnome();
            StartCoroutine(ResetAfterDelay());
        }
    }
Ejemplo n.º 6
0
        void KillGnome(Gnome.DamageType damageType)
        {
            var audio = GetComponent <AudioSource>();

            if (audio)
            {
                audio.PlayOneShot(this.gnomeDied);
            }

            if (!IsInvincible && Health.Instance.CurrentHealth == 0)
            {
                current.DestroyGnome(damageType);

                RemoveGnome();

                StartCoroutine(RemoveAfterDelay());
            }
        }
Ejemplo n.º 7
0
        //method for deciding which sprite to render after being damaged
        public void ApplyDamage(Gnome.DamageType damageType)
        {
            Sprite actualSprite = null;

            //switch between damage type
            switch (damageType)
            {
            case Gnome.DamageType.Slicing:
                actualSprite = detachedPart;
                break;
            }

            //if sprite to use exists
            if (actualSprite != null)
            {
                //render sprite
                GetComponent <SpriteRenderer>().sprite = actualSprite;
            }
        }
Ejemplo n.º 8
0
    void KillGnome(Gnome.DamageType damageType)
    {
        //Если задан звук смерти гнома
        var audio = GetComponent <AudioSource>();

        if (audio)
        {
            audio.PlayOneShot(gnomeDiedSound);
        }

        //Демонстрация эффекта ловушки
        currentGnome.ShowDamageEffect(damageType);

        //Если гном уязвим
        if (!gnomeInvincible)
        {
            currentGnome.DestroyGnome(damageType);

            RemoveGnome();

            StartCoroutine(ResetAfterDelay());
        }
    }