private void Pure()
    {
        if (breadType == EnumBreadType.EATED_INFECTED)
        {
            breadType = EnumBreadType.EATED;
        }

        breadType = EnumBreadType.NORMAL;
        speed     = 10f;
        Damage(0, false);
    }
    public void Infect()
    {
        if (breadType == EnumBreadType.INFECTED && breadType == EnumBreadType.EATED_INFECTED)
        {
            return;
        }
        breadType = breadType == EnumBreadType.EATED ? EnumBreadType.EATED_INFECTED : EnumBreadType.INFECTED;

        speed = 7f;
        Damage(0, false);
        Invoke("Pure", 16f);
    }
    public void Damage(int damage, bool resistable)
    {
        if (damage > 0)
        {
            if (resistable && resistCharges > 0)
            {
                resistCharges--;
            }
            else
            {
                health -= damage;
            }

            if (health <= 0f)
            {
                gameOverPanel.SetActive(true);
                Destroy(gameObject);
                Destroy(GameObject.Find("HealthPanel"));
                Destroy(GameObject.Find("TimePanel"));
            }
            Camera.main.GetComponent <CameraShake>().shakeDuration = 0.4f;
        }

        if (health <= 50)
        {
            breadType = breadType == EnumBreadType.INFECTED ? EnumBreadType.EATED_INFECTED : EnumBreadType.EATED;
        }
        else if (breadType != EnumBreadType.INFECTED)
        {
            if (breadType == EnumBreadType.EATED_INFECTED)
            {
                breadType = EnumBreadType.INFECTED;
            }

            if (breadType == EnumBreadType.EATED)
            {
                breadType = EnumBreadType.NORMAL;
            }
        }

        healthText.text = "Health: " + health + "%";
    }