/// <summary> /// Called when this champion takes damage /// </summary> /// <param name="damage"></param> public bool OnGotHit(float damage) { List <ChampionBonus> activeBonuses = null; if (teamID == TEAMID_PLAYER) { activeBonuses = gamePlayController.activeBonusList; } else if (teamID == TEAMID_AI) { activeBonuses = aIopponent.activeBonusList; } foreach (ChampionBonus b in activeBonuses) { damage = b.ApplyOnGotHit(this, damage); } currentHealth -= damage; //death if (currentHealth <= 0) { this.gameObject.SetActive(false); isDead = true; aIopponent.OnChampionDeath(); gamePlayController.OnChampionDeath(); } //add floating text worldCanvasController.AddDamageText(this.transform.position + new Vector3(0, 2.5f, 0), damage); return(isDead); }