//for deactivating powerups IEnumerator ResetAfterTime(float time, SkillStat curStat, SkillStatBoost statBoost) { yield return(new WaitForSeconds(time)); //csak a "time" után folytatódik ez a függvény curStat.ModifyStatValues(statBoost.multiplierDifference * (-1), statBoost.valueDifference * (-1)); ApplyStatChange(statBoost.name); }
//ezt hívjuk meg amikor változtatni akarjuk a statokat public void ApplyStatBoost(SkillStatBoost statBoost) { SkillStat curStat = skillStats.Find(x => x.name == statBoost.name); //megkeressük a változtatnivaló stat-ot a listában curStat.ModifyStatValues(statBoost.multiplierDifference, statBoost.valueDifference); //modify-oljuk ezt a statot //(magában a SkillStat class-ban van ez a függvény) ApplyStatChange(statBoost.name); //ha powerup, akkor a powerupDuration után reverse-elni akarjuk if (statBoost.isPowerup) { StartCoroutine(ResetAfterTime(statBoost.duration, curStat, statBoost)); } }