public void Death()
    {
        GlobalTBModeController.Instance.OnCharacterDeath(characterInfo);
        gameObject.layer = 13;
        var movement = characterMovement as PlayerMovement;

        if (movement != null)
        {
            characterControl.ActiveCharacters.Remove(movement);
        }
        animator.Die();
        GetComponent <Collider>().enabled = false;
    }
Пример #2
0
    public void Die()
    {
        if (!anim.GetBool("Died"))
        {
            characterAnimator.Die();
            inventory.DropAllItems();
            LevelsManager.instance.AddExperience(experienceGained);
            anim.SetBool("Died", true);
            Destroy(gameObject, 3f);
        }

        SubscribeChange();
    }
Пример #3
0
    /*
     * Character died.
     * Play dead animation and for AI's drop a coin
     * If player dies show died window
     */
    private void Dead()
    {
        if (isAI)
        {
            // Dead
            isDead = true;

            // Hide healthbar
            healthSlider.gameObject.SetActive(false);

            // Stop movement
            horizontal    = 0;
            vertical      = 0;
            body.velocity = Vector2.zero;

            // Tell room i'm dead
            AiRoom.EnemyDied(this);

            // Drop coin
            if (Random.Range(0, 100) > 25)
            {
                PoolManager.instance.InstantiateObject("Coin", transform.position, Quaternion.identity, LevelManager.instace.currentRoom.transform);
            }

            // play sound
            AudioManager.instance.sfx.PlayOneShot(dieSound);

            // Animate dead
            animator.Die();
        }
        else
        {
            // Player died
            Time.timeScale            = 0;
            diedWindow.interactable   = true;
            diedWindow.blocksRaycasts = true;
            diedWindow.gameObject.SetActive(true);
            diedWindow.GetComponent <RectTransform>().DOAnchorPosY(0, 1);
            diedWindow.DOFade(1, 1);

            if (GameManager.instance.isUsingController)
            {
                diedWindow.GetComponentInChildren <Button>().Select();
            }
        }
    }