public void AddOrRefreshLfg(S_PARTY_MATCH_LINK x) { if (TryGetLfg(x.Id, x.Message, x.Name, out var lfg)) { lfg.Message = x.Message; lfg.Refresh(); } else { LFGs.Add(new LFG(x.Id, x.Name, x.Message, x.Raid)); } }
private bool TryGetLfg(uint id, string msg, string name, out LFG lfg) { lfg = LFGs.ToSyncArray().FirstOrDefault(x => x.Id == id); if (lfg != null) { return(true); } lfg = LFGs.ToSyncArray().FirstOrDefault(x => x.Name == name); if (lfg != null) { return(false); } lfg = LFGs.ToSyncArray().FirstOrDefault(x => x.Message == msg); return(lfg != null); }
public void RemoveLfg(LFG lfg) { lfg.Dispose(); LFGs.Remove(lfg); }