示例#1
0
        protected override bool FoundInLibrary(Library lib, SearchResult searchResult)
        {
            bool duplicate          = false;
            SearchResultMonster srm = searchResult as SearchResultMonster;
            Creature            c   = lib.FindCreatureCaseInsensitive(srm.Name, Convert.ToInt32(srm.Level));

            if (c != null)
            {
                if (c.HP == 1)
                {
                    Minion m = c.Role as Minion;
                    if (m.HasRole)
                    {
                        duplicate = m.Type.ToString() == srm.CombatRole;
                    }
                }
                else
                {
                    ComplexRole cr = c.Role as ComplexRole;
                    duplicate = srm.CombatRole.StartsWith(cr.Type.ToString()) &&
                                (cr.Leader == srm.CombatRole.Contains("Leader")) &&
                                (cr.Flag.ToString() == srm.GroupRole);
                }
            }
            return(duplicate);
        }
        public void MonsterBySourceTest()
        {
            CompendiumSource source = new CompendiumSource {
                Value = 203
            };

            IEnumerable <SearchResult> actual;

            actual = SearchResultMonster.BySource(source);
            Assert.AreEqual(5, actual.Count());
            Assert.IsTrue(actual.Any(x => x.Name == "Erdlu"));
        }
示例#3
0
        protected override bool IsInAnotherLibrary(SearchResult searchResult, Library current)
        {
            bool duplicate          = false;
            SearchResultMonster srm = searchResult as SearchResultMonster;

            foreach (Library lib in _mpApp.Libraries)
            {
                if (lib.ID == current.ID)
                {
                    continue;
                }
                duplicate = FoundInLibrary(lib, searchResult);
                if (duplicate)
                {
                    break;
                }
            }
            return(duplicate);
        }
示例#4
0
 protected override IEnumerable <SearchResult> GetSearchResults(CompendiumSource cs)
 {
     return(SearchResultMonster.BySource(cs));
 }