Exemplo n.º 1
0
    public virtual void Apply(assHealthDamageType type, assIHealthDamageHandler handler)
    {
        if (IsInvulnerable)
        {
            Debug.Log("No damage taken to this Entity " + this.gameObject.name);
            return;
        }

        float damageTaken = 0;

        switch (type)
        {
        case assHealthDamageType.NormalDamage:
            currentHealth = (float)(currentHealth - handler.NormalDamage);
            damageTaken   = handler.NormalDamage;
            break;

        case assHealthDamageType.SkillDamage:
            currentHealth = (float)(currentHealth - handler.SkillDamage);
            damageTaken   = handler.SkillDamage;
            break;

        case assHealthDamageType.UltimateDamage:
            currentHealth = (float)(currentHealth - handler.UltimateDamage);
            damageTaken   = handler.UltimateDamage;
            break;

        case assHealthDamageType.Heal:
            currentHealth = (float)(currentHealth + handler.SkillDamage);
            break;

        case assHealthDamageType.Killed:
            //TODO died
            break;
        }

        if (damageTaken != 0)
        {
            DamageTakenCondition();
        }

        if (DamageHit)
        {
            DamageAmount += damageTaken;
            if (DamageAmount >= DamageAmountTrigger)
            {
                //TODO different entity can have or not have different states
                //testing first state first
                SendMessageToBrain(assMessageType.FirstPhaseActivate);
            }
        }
    }
Exemplo n.º 2
0
 public virtual void OnApplyCallback(assHealthDamageType type, assIHealthDamageHandler recipient, params object[] args)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 3
0
 public override void OnApplyCallback(assHealthDamageType type, assIHealthDamageHandler recipient, params object[] args)
 {
     base.OnApplyCallback(type, recipient, args);
 }
Exemplo n.º 4
0
 public void Apply(assHealthDamageType type, assIHealthDamageHandler handler)
 {
     throw new System.NotImplementedException();
 }
Exemplo n.º 5
0
 public override void Apply(assHealthDamageType type, assIHealthDamageHandler handler)
 {
     Debug.Log("applying damage");
     base.Apply(type, handler);
     CurrentHealthStatus();
 }