示例#1
0
        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);
                        }
                    }
                }
            }
        }
示例#2
0
        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);
                }
            }
        }
示例#4
0
        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>());
        }
示例#5
0
        private Sprite[] GetTaggedAislings()
        {
            var tagged = TaggedAislings.Select(i => i.Value).ToArray();

            return(tagged);
        }