private static void OnNewPartyEntries(object sender, PartyEntitiesEvent partyEntitiesEvent)
 {
     // delegate event from party info worker that will give basic info on party members
     if (sender == null)
     {
         return;
     }
     var partyEntities = partyEntitiesEvent.PartyEntities;
     
     if (!partyEntities.Any())
     {
         return;
     }
     
     EncounterController.partyList = partyEntities;
 }
 private static void OnNewPartyEntries(object sender, PartyEntitiesEvent partyEntitiesEvent)
 {
     // delegate event from party info worker that will give basic info on party members
     if (sender == null)
     {
         return;
     }
     var partyEntities = partyEntitiesEvent.PartyEntities;
 }
 private static void OnNewPartyEntries(object sender, PartyEntitiesEvent partyEntitiesEvent)
 {
     // delegate event that shows current party basic info
     if (sender == null)
     {
         return;
     }
     var partyEntities = partyEntitiesEvent.PartyEntities;
 }
 private static void OnNewPartyEntries(object sender, PartyEntitiesEvent partyEntitiesEvent)
 {
     // delegate event from party entities from ram, not required to subsribe
     // this is sent once, and by reference so you only need to use it after
     if (sender == null)
     {
         return;
     }
     var partyEntities = partyEntitiesEvent.PartyEntities;
 }
Exemple #5
0
 public virtual void RaiseNewPartyEntries(List<PartyEntity> e)
 {
     var partyEntitiesEvent = new PartyEntitiesEvent(this, e);
     var handler = NewPartyEntries;
     if (handler != null)
     {
         handler(this, partyEntitiesEvent);
     }
 }
Exemple #6
0
 public virtual void RaiseNewPartyEntries(ConcurrentDictionary<UInt32, PartyEntity> e)
 {
     var partyEntitiesEvent = new PartyEntitiesEvent(this, e);
     var handler = NewPartyEntries;
     if (handler != null)
     {
         handler(this, partyEntitiesEvent);
     }
 }
        private static void OnNewPartyEntries(object sender, PartyEntitiesEvent partyEntitiesEvent)
        {
            // delegate event from party info worker that will give basic info on party members
            if (sender == null)
            {
                return;
            }
            var partyEntities = partyEntitiesEvent.PartyEntities;

            if (Analyzer.Instance.EncounterId > 0 && Analyzer.Instance.PartyCaptured == false)
            {
                Analyzer.Instance.PartyCaptured = true;
                foreach (var partyEntity in partyEntities)
                {
                    Analyzer.Instance.CapturePartyMember(partyEntity);
                }
            }
            else if (Analyzer.Instance.EncounterId > 0)
            {
                foreach (var partyEntity in partyEntities)
                {
                    // Kind of a shitty way but whatever

                    var tempEntries = Analyzer.Instance.partyMemberStatusEntries.Where(x => x.PartyMemberId == partyEntity.ID)
                                              .ToList();

                    foreach (var statusEntry in partyEntity.StatusEntries)
                    {
                        if (tempEntries.RemoveAll(x => x.CasterId == statusEntry.CasterID && x.StatusId == statusEntry.StatusID && x.TargetName == statusEntry.TargetName) == 0)
                        {
                            // Nothing removed - new status effect
                            Analyzer.Instance.NewPartyMemberStatusEntry(statusEntry, partyEntity.ID);
                        }
                    }

                    // Now the only entries remaining in tempEntries should be expired:
                    foreach (var partyMemberStatusEntry in tempEntries)
                    {
                        Analyzer.Instance.EndPartyMemberStatusEntry(partyMemberStatusEntry);
                    }
                }
            }
        }