/// <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); }
/// <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); }
public override ITimedDamageInfo TryGetLongTimeDanger(IDamageInfo.DamageTyp typ) { int index = TryGetLongTimeDangerIndex(typ); if (index != -1) { return(dmgBuffer[index]); } return(null); }
public int TryGetLongTimeDangerIndex(IDamageInfo.DamageTyp typ) { for (int i = 0; i < dmgBuffer.Count; i++) { if (dmgBuffer[i].DmgTyp == typ) { return(i); } } return(-1); }
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); }
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]); }
public abstract int TryGetNextLongTimeDanger(IDamageInfo.DamageTyp typ, int index, out ITimedDamageInfo timedDmgInf);
public abstract ITimedDamageInfo TryGetLongTimeDanger(IDamageInfo.DamageTyp typ);
/// <summary> /// Sets the current health to 0. /// </summary> public abstract void Kill(IDamageInfo.DamageTyp dmgTyp);
/// <summary> /// Sets the current health to max health. /// </summary> public abstract void HealFull(IDamageInfo.DamageTyp dmgTyp);
public AudioClip FindAudioClip(IDamageInfo.DamageTyp damageTyp) { return(FindAudioClip(damageTyp, Random.Range(0, audioClips[(int)damageTyp].audioClips.Length))); }