コード例 #1
0
    /// <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);
    }