void KillSelf(int hitSide, int weaponType)
    {
        if (!dead)
        {
            // activate and kill breakable sprite
            if (weaponType == MELEE)
            {
                breakable.DirectionalSlump(hitSide);
            }
            else if (weaponType == PROJECTILE)
            {
                breakable.Explode(hitSide);
            }

            // deactivate and fade solid sprite
            rigidbody2D.isKinematic = true;
            collider2D.enabled      = false;

            spriteRenderer.enabled = false;

            dead = true;

            gameObject.SendMessage("CreatureDead");

            Invoke("DeactivateObject", MAX_BEFORE_FADE + 5f);
        }
    }
예제 #2
0
    void KillSelf(int hitFrom, int weaponType)
    {
        // activate and kill breakable sprite
        if (weaponType == MELEE)
        {
            breakable.DirectionalSlump(hitFrom);
        }
        else if (weaponType == PROJECTILE)
        {
            breakable.Explode(hitFrom);
        }

        // deactivate and fade solid sprite
        rigidbody2D.isKinematic   = true;
        collider2D.enabled        = false;
        attackAI.attackPaused     = true;
        movementAI.movementPaused = true;
        attackAI.enabled          = false;
        movementAI.enabled        = false;

        MFX.Fade(spriteRenderer, 0f, 0f, 0f);

        Invoke("DeactivateObject", MAX_BEFORE_FADE + 5f);
    }