public void AppendTags(Sprite target) { if (TaggedAislings == null) { TaggedAislings = new HashSet <int>(); } if (target is Aisling) { var aisling = target as Aisling; if (!TaggedAislings.Contains(aisling.Serial)) { TaggedAislings.Add(aisling.Serial); } if (aisling.GroupParty.LengthExcludingSelf > 0) { foreach (var member in aisling.GroupParty.MembersExcludingSelf) { if (!TaggedAislings.Contains(member.Serial)) { TaggedAislings.Add(member.Serial); } } } } }
public void AppendTags(Sprite target) { if (TaggedAislings == null) { TaggedAislings = new ConcurrentDictionary <int, Sprite>(); } if (target is Aisling) { var aisling = target as Aisling; if (!TaggedAislings.ContainsKey(aisling.Serial)) { TaggedAislings.TryAdd(aisling.Serial, aisling); } if (aisling.GroupParty.LengthExcludingSelf > 0) { foreach (var member in aisling.GroupParty.MembersExcludingSelf) { if (!TaggedAislings.ContainsKey(member.Serial)) { TaggedAislings.TryAdd(member.Serial, member); } } } } }
public void AppendTags(Sprite target) { if (TaggedAislings == null) { TaggedAislings = new HashSet <int>(); } if (!(target is Aisling aisling)) { return; } if (!TaggedAislings.Contains(aisling.Serial)) { TaggedAislings.Add(aisling.Serial); } if (aisling.GroupParty != null && aisling.GroupParty.PartyMembers.Count - 1 <= 0) { return; } if (aisling.GroupParty != null) { foreach (var member in aisling.GroupParty.PartyMembers.Where(member => !TaggedAislings.Contains(member.Serial))) { TaggedAislings.Add(member.Serial); } } }
public List <Aisling> GetTaggedAislings() { if (TaggedAislings.Any()) { return(TaggedAislings.Select(b => GetObject <Aisling>(Map, n => n.Serial == b)).Where(i => i != null) .ToList()); } return(new List <Aisling>()); }
private Sprite[] GetTaggedAislings() { var tagged = TaggedAislings.Select(i => i.Value).ToArray(); return(tagged); }