public void Despawn(string key) { FXUnit unit = null; if (instantiatedPrefabs.TryGetValue(key, out unit)) { // Debug.Log("[FXSpawner] despawn!"); unit.Despawn(); } }
FXUnit spawnInternal(FXData data) { FXUnit unit = (FXUnit)Instantiate(data.prefab); unit.Init(data, namedTransformsMap[data.spawnPoint].t); if (data.persist) { instantiatedPrefabs[data.key] = unit; } return(unit); }
public virtual void DoHeal(Damage dmg) { Debug.Log("[DamageEvent] healing " + gameObject.name + " for " + dmg.amount + " current HP : " + hp); hp += dmg.amount; hp = Math.Min(hp, fullHP); OnDamageTaken.Invoke(dmg); FXUnit unit = fx.Spawn(Keys.Heal); Util.RandomizePosition(unit.transform, 0.5f, 0.1f); FXUnit uiUnit = fx.Spawn(Keys.DamageUI); uiUnit.label.text = "<color=green>+" + Mathf.Round(dmg.amount * m.units.levellingHack) + "</color>"; Util.RandomizePosition(uiUnit.transform, 0.5f, 0.1f); m.afx.PlayFX(Keys.Heal); }
void displayDamageFX(Damage dmg) { m.afx.PlayFX(Keys.Damage); if (dmg.flavor != AttackFlavor.Miss) { FXUnit unit = fx.Spawn(Keys.Damage); Util.RandomizePosition(unit.transform, 0.5f, 0.1f); } FXUnit uiUnit = fx.Spawn(Keys.DamageUI); if (dmg.flavor != AttackFlavor.Miss) { uiUnit.label.text = "<color=white>-" + Mathf.Round(dmg.amount * m.units.levellingHack) + "</color>"; } else { uiUnit.label.text = "<color=white>MISS</color>"; } Util.RandomizePosition(uiUnit.transform, 0.5f, 0.1f); }