Ejemplo n.º 1
0
 public void BH_HealOrDamage(int bhDmgValue, T_DamageHeal dmgType)
 {
     if (alive)
     {
         if (bhDmgValue < 0)
         {
             if (bhDmgValue != -100)
             {
                 bhDmgValue = Mathf.RoundToInt(bhDmgValue * (1f - dmgReduction));
             }
             else
             {
                 bhDmgValue = -burninghealth;
             }
             if (bhDmgValue == 0)
             {
                 bhDmgValue = -1;
             }
         }
         BurningHealth += bhDmgValue;
         if (coroutines.ContainsKey("ui_display"))
         {
             StopCoroutine(coroutines["ui_display"]);
         }
         coroutines["ui_display"] = StartCoroutine(DisplayAnyDamageOrHeal(bhDmgValue, dmgType));
     }
 }
Ejemplo n.º 2
0
    IEnumerator DisplayAnyDamageOrHeal(int value, T_DamageHeal dmgHealType)
    {
        if (dmgHealType == T_DamageHeal._BHDMGWET || dmgHealType == T_DamageHeal._BHDMGSQUASH)
        {
            ui.healDmgHeader.text = "BHP";
        }
        else
        {
            ui.healDmgHeader.text = "HP";
        }

        if (dmgHealType == T_DamageHeal._BHDMGSQUASH || dmgHealType == T_DamageHeal._HDMGSQUASH)
        {
            ui.wetDmgIcon.gameObject.SetActive(false);
            ui.healIcon.gameObject.SetActive(false);
            ui.heal_DmgIndicator.color = ui.squashDmgColor;
            ui.squashDmgIcon.gameObject.SetActive(true);
            ui.healDmgValue.color  = ui.squashDmgColor;
            ui.healDmgHeader.color = ui.squashDmgColor;
        }
        else if (dmgHealType == T_DamageHeal._BHDMGWET)
        {
            ui.squashDmgIcon.gameObject.SetActive(false);
            ui.healIcon.gameObject.SetActive(false);
            ui.heal_DmgIndicator.color = ui.wetDmgColor;
            ui.wetDmgIcon.gameObject.SetActive(true);
            ui.healDmgValue.color  = ui.wetDmgColor;
            ui.healDmgHeader.color = ui.wetDmgColor;
        }
        else if (dmgHealType == T_DamageHeal._HHEAL)
        {
            ui.wetDmgIcon.gameObject.SetActive(false);
            ui.squashDmgIcon.gameObject.SetActive(false);
            ui.heal_DmgIndicator.color = ui.healColor;
            ui.healIcon.gameObject.SetActive(true);
            ui.healDmgValue.color  = ui.healColor;
            ui.healDmgHeader.color = ui.healColor;
        }

        ui.heal_DmgIndicator.gameObject.SetActive(true);
        ui.healDmgValue.text = value.ToString();
        ui.healDmgHeader.gameObject.SetActive(true);

        float t_start = Time.time;
        Color c       = ui.heal_DmgIndicator.color;
        Color white   = Color.white;

        while (Time.time - t_start < 1.5f)
        {
            c.a = ui.animCurveHealDmg.Evaluate((Time.time - t_start) / 1.5f);
            ui.heal_DmgIndicator.color = c;
            yield return(null);
        }

        if (dmgHealType == T_DamageHeal._BHDMGSQUASH || dmgHealType == T_DamageHeal._HDMGSQUASH)
        {
            ui.squashDmgIcon.gameObject.SetActive(false);
        }
        else if (dmgHealType == T_DamageHeal._BHDMGWET)
        {
            ui.wetDmgIcon.gameObject.SetActive(false);
        }
        else if (dmgHealType == T_DamageHeal._HHEAL)
        {
            ui.healIcon.gameObject.SetActive(false);
        }

        ui.heal_DmgIndicator.gameObject.SetActive(false);
        ui.healDmgHeader.gameObject.SetActive(false);
    }