Пример #1
0
        /// <summary>
        /// Puts the health to max health and fires events.
        /// </summary>
        public override void HealFull(IDamageInfo.DamageTyp dmgTyp)
        {
            BasicDamageInfo dmgInf = new BasicDamageInfo(dmgTyp, maxHealth - currentHealth);

            currentHealth = maxHealth;
            FireEvents(dmgInf);
        }
Пример #2
0
        /// <summary>
        /// Puts the health to zero and fires a death event.
        /// </summary>
        public override void Kill(IDamageInfo.DamageTyp dmgTyp)
        {
            BasicDamageInfo dmgInf = new BasicDamageInfo(dmgTyp, -currentHealth);

            currentHealth = 0;
            FireEvents(dmgInf);
        }
Пример #3
0
        public override ITimedDamageInfo TryGetLongTimeDanger(IDamageInfo.DamageTyp typ)
        {
            int index = TryGetLongTimeDangerIndex(typ);

            if (index != -1)
            {
                return(dmgBuffer[index]);
            }
            return(null);
        }
Пример #4
0
 public int TryGetLongTimeDangerIndex(IDamageInfo.DamageTyp typ)
 {
     for (int i = 0; i < dmgBuffer.Count; i++)
     {
         if (dmgBuffer[i].DmgTyp == typ)
         {
             return(i);
         }
     }
     return(-1);
 }
Пример #5
0
 public override int TryGetNextLongTimeDanger(IDamageInfo.DamageTyp typ, int index, out ITimedDamageInfo timedDmgInf)
 {
     for (int i = index; i < dmgBuffer.Count; i++)
     {
         if (dmgBuffer[i].DmgTyp == typ)
         {
             timedDmgInf = dmgBuffer[i];
             return(i);
         }
     }
     timedDmgInf = null;
     return(-1);
 }
Пример #6
0
        public AudioClip FindAudioClip(IDamageInfo.DamageTyp damageTyp, int stepIndex)
        {
            int typIndex = (int)damageTyp;

            if (typIndex >= audioClips.Length || typIndex < 0)
            {
                return(null);
            }
            if (stepIndex >= audioClips[typIndex].audioClips.Length || stepIndex < 0)
            {
                Debug.LogError("No audioclip assigned to  " + damageTyp + ". Returning NULL");
                return(null);
            }
            return(audioClips[typIndex][stepIndex]);
        }
Пример #7
0
 public abstract int TryGetNextLongTimeDanger(IDamageInfo.DamageTyp typ, int index, out ITimedDamageInfo timedDmgInf);
Пример #8
0
 public abstract ITimedDamageInfo TryGetLongTimeDanger(IDamageInfo.DamageTyp typ);
Пример #9
0
 /// <summary>
 /// Sets the current health to 0.
 /// </summary>
 public abstract void Kill(IDamageInfo.DamageTyp dmgTyp);
Пример #10
0
 /// <summary>
 /// Sets the current health to max health.
 /// </summary>
 public abstract void HealFull(IDamageInfo.DamageTyp dmgTyp);
Пример #11
0
 public AudioClip FindAudioClip(IDamageInfo.DamageTyp damageTyp)
 {
     return(FindAudioClip(damageTyp, Random.Range(0, audioClips[(int)damageTyp].audioClips.Length)));
 }