예제 #1
0
    // Start is called before the first frame update
    void Start()
    {
        cooldown_fill = GetComponent <Image>();

        GameObject[] array = GameObject.FindGameObjectsWithTag("Player");
        foreach (GameObject go in array)
        {
            if (go.GetComponent <DoDamageScript>())
            {
                dmgScript = go.GetComponent <DoDamageScript>();
                break;
            }
        }

        foreach (Transform child in transform.parent)
        {
            if (child.tag == "TimerText")
            {
                timerText = child.GetComponent <Text>();
                break;
            }
        }
    }
    void UpdateStatsChips()
    {
        DoDamageScript damageScript = PlayerStatsObject.GetComponent <DoDamageScript>();

        int   BaseMeleeATK = damageScript.MeleeDamage, BaseRangedATK = damageScript.RangedDamage;
        float BaseMeleeCD = damageScript.MeleeBasicAttackCooldown, BaseRangedCD = damageScript.RangedBasicAttackCooldown;

        int MAtkValue    = 1;
        int MAtkSpdValue = 1;
        int RAtkValue    = 1;
        int RAtkSpdValue = 1;

        foreach (Chip c in AttachedChips)
        {
            if (c.ChipType != Chip.CType.STAT)
            {
                continue;
            }

            switch (c.ChipID)
            {
            case 0:
                MAtkValue += c.ChipLevel;
                break;

            case 1:
                MAtkSpdValue += c.ChipLevel;
                break;

            case 2:
                RAtkValue += c.ChipLevel;
                break;

            case 3:
                RAtkSpdValue += c.ChipLevel;
                break;

            case 4:
                AbilityScripts.GetComponent <HealAbilityScript>().SetIsActive(true);
                break;

            case 5:
                AbilityScripts.GetComponent <ShieldAbilityScript>().SetIsActive(true);
                break;

            case 6:
                AbilityScripts.GetComponent <LightningAbility>().SetIsActive(true);
                break;

            default:
                break;
            }
        }

        BaseMeleeATK  += (MAtkValue - 1);
        BaseMeleeCD   -= 0.05f * (MAtkSpdValue - 1);
        BaseRangedATK += (RAtkValue - 1);
        BaseRangedCD  -= 0.05f * (RAtkSpdValue - 1);

        damageScript.MeleeDamage = BaseMeleeATK;
        damageScript.MeleeBasicAttackCooldown  = BaseMeleeCD;
        damageScript.RangedDamage              = BaseRangedATK;
        damageScript.RangedBasicAttackCooldown = BaseRangedCD;

        MAtkSpdVisualiser.GetComponent <StatVisualiser>().UpdateStatUI(MAtkSpdValue);
        RAtkSpdVisualiser.GetComponent <StatVisualiser>().UpdateStatUI(RAtkSpdValue);
        MAtkVisualiser.GetComponent <StatVisualiser>().UpdateStatUI(MAtkValue);
        RAtkVisualiser.GetComponent <StatVisualiser>().UpdateStatUI(RAtkValue);
    }
예제 #3
0
 // Start is called before the first frame update
 void Start()
 {
     dmgScript = Player.GetComponent <DoDamageScript>();
 }