public PSO2Player(string playerName, long playerId, TimeSpan updateClock, TimeSpan instanceHistoryDuration, PSO2DamageTrackers trackersToCombine, DamageParser parentInst) { ID = playerId; Name = actualName = playerName; trackersToSum = trackersToCombine; FilteredDamage = new DamageView(trackersToCombine); parent = parentInst; parent.NameAnonimizationChangedEvent += Parent_NameAnonimizationChangedEvent; BasicDamage = new DamageTracker(updateClock, instanceHistoryDuration, "Basic"); FilteredDamage.RegisterTracker(BasicDamage, PSO2DamageTrackers.Basic); ZanverseDamage = new DamageTracker(updateClock, instanceHistoryDuration, "Zanverse"); FilteredDamage.RegisterTracker(ZanverseDamage, PSO2DamageTrackers.Zanverse); DarkBlastDamage = new DamageTracker(updateClock, instanceHistoryDuration, "DarkBlast"); FilteredDamage.RegisterTracker(DarkBlastDamage, PSO2DamageTrackers.DarkBlast); AISDamage = new DamageTracker(updateClock, instanceHistoryDuration, "AIS"); FilteredDamage.RegisterTracker(AISDamage, PSO2DamageTrackers.AIS); PhotonDamage = new DamageTracker(updateClock, instanceHistoryDuration, "PwP"); FilteredDamage.RegisterTracker(PhotonDamage, PSO2DamageTrackers.PWP); RideroidDamage = new DamageTracker(updateClock, instanceHistoryDuration, "Ride"); FilteredDamage.RegisterTracker(RideroidDamage, PSO2DamageTrackers.Ride); LaconiumDamage = new DamageTracker(updateClock, instanceHistoryDuration, "Lsw"); FilteredDamage.RegisterTracker(LaconiumDamage, PSO2DamageTrackers.LSW); HeroTimeFinishDamage = new DamageTracker(updateClock, instanceHistoryDuration, "HTF"); FilteredDamage.RegisterTracker(HeroTimeFinishDamage, PSO2DamageTrackers.HTF); ElementDamage = new DamageTracker(updateClock, instanceHistoryDuration, "ELM"); FilteredDamage.RegisterTracker(ElementDamage, PSO2DamageTrackers.Elem); DamageTaken = new DamageTracker(updateClock, instanceHistoryDuration, "Taken"); allTrackers.AddRange(new[] { BasicDamage, ZanverseDamage, DarkBlastDamage, AISDamage, DamageTaken, PhotonDamage, RideroidDamage, LaconiumDamage, HeroTimeFinishDamage, ElementDamage }); //to simplify calls below... Parent_NameAnonimizationChangedEvent(null, null); }
public TrackerContainer(DamageTracker tracker, PSO2DamageTrackers flag) { AssociatedTracker = tracker; AssociatedFlag = flag; }
public void RegisterTracker(DamageTracker tracker, PSO2DamageTrackers flag) { allTrackers.Add(new TrackerContainer(tracker, flag)); }