public PrepareDamageEvent(CharacterTemplate origin, CharacterTemplate target, BaseActionTemplate action, HitData hit) { Entries = GenericPools.New <List <DamageEntry> >(); Origin = origin; Target = target; Action = action; Hit = hit; }
public PrepareDamageEvent(ImpactEvent impact) { Entries = GenericPools.New <List <DamageEntry> >(); Origin = impact.Origin; Target = impact.Target; Action = impact.Action; Hit = impact.Hit; }
public PrepareDamageEvent(ImpactEvent impact, CharacterTemplate origin, CharacterTemplate target) { Entries = GenericPools.New <List <DamageEntry> >(); Impact = impact; Origin = origin; Target = target; Action = impact.Action; }
public void Clear() { GenericPools.Store(Entries); Entries = null; }
public DamageSystem() { World.Get <RulesSystem>().AddHandler <TakeDamageEvent>(this); World.Get <RulesSystem>().AddHandler <PrepareDamageEvent>(this); GenericPools.Register <List <DamageEntry> >(5, l => l.Clear()); }