Пример #1
0
        static CombatVisibility CombatListFilter(Character ch, CombatState c, CombatVisibility players = CombatVisibility.Visible, CombatVisibility monsters = CombatVisibility.Visible,
                                                 CombatVisibility idle = CombatVisibility.Visible, CombatVisibility hidden = CombatVisibility.Anonymous)
        {
            CombatVisibility vis = ch.IsMonster?monsters:players;

            if (ch.IsHidden)
            {
                vis = vis.Combine(hidden);
            }
            if (ch.IsIdle)
            {
                vis = vis.Combine(idle);
            }
            return(vis);
        }
Пример #2
0
        static List <(CombatVisibility, Character)> FilterCombatList(CombatState c, CombatVisFilter filter, CombatVisibility maxlevel = CombatVisibility.Anonymous)
        {
            var list = new List <(CombatVisibility, Character)>();

            foreach (Character ch in c.CombatList)
            {
                var vis = filter(ch, c);
                if (vis <= maxlevel)
                {
                    list.Add((vis, ch));
                }
            }

            return(list);
        }