public Dictionary <Int32, Int32> GetMonstersForCategory(EMonsterClass p_class, Boolean p_showChampions) { Dictionary <Int32, Int32> dictionary = new Dictionary <Int32, Int32>(); foreach (Int32 num in m_allMonsters.Keys) { MonsterStaticData staticData = StaticDataHandler.GetStaticData <MonsterStaticData>(EDataType.MONSTER, num); if (staticData != null && staticData.BestiaryEntry) { if (!p_showChampions) { if (staticData.Class != p_class && p_class != EMonsterClass.NONE) { continue; } } else if (staticData.Grade != EMonsterGrade.CHAMPION) { continue; } dictionary.Add(num, m_allMonsters[num]); } } return(dictionary); }
private void UpdateMonsters(Object sender, EventArgs e) { EMonsterClass p_monsterClass = EMonsterClass.NONE; if (m_categoryTabs.CurrentTabIndex != m_categoryTabs.Tabs.Length - 1) { p_monsterClass = (EMonsterClass)m_categoryTabs.CurrentTabIndex; } InitList(p_monsterClass); m_pageableList.Show(); }
private void OnCategorySelected(Object p_sender, EventArgs p_args) { m_pageableList.CurrentIndex = 0; EMonsterClass emonsterClass = EMonsterClass.NONE; if (m_categoryTabs.CurrentTabIndex != m_categoryTabs.Tabs.Length - 1) { emonsterClass = (EMonsterClass)m_categoryTabs.CurrentTabIndex; String str = (emonsterClass != EMonsterClass.NONE) ? emonsterClass.ToString() : "SHOW_ALL"; m_headerLabel.text = LocaManager.GetText("TT_BESTIARY_" + str); } else { m_headerLabel.text = LocaManager.GetText("TT_BESTIARY_CHAMPION"); } Int32 bookCount = InitList(emonsterClass); m_pageableList.Finish(bookCount); }
public Int32 InitList(EMonsterClass p_monsterClass) { m_monsterName.enabled = false; m_infoController.Hide(); CleanupPageableList(); Int32 num = 0; Int32 num2 = 0; Boolean p_showChampions = m_categoryTabs.CurrentTabIndex == m_categoryTabs.Tabs.Length - 1; Dictionary <Int32, Int32> monstersForCategory = m_bestiaryHandler.GetMonstersForCategory(p_monsterClass, p_showChampions); Dictionary <Int32, Int32> dictionary = new Dictionary <Int32, Int32>(); foreach (Int32 num3 in monstersForCategory.Keys) { if (StaticDataHandler.GetStaticData <MonsterStaticData>(EDataType.MONSTER, num3) != null) { Int32 num4 = 0; if (monstersForCategory.TryGetValue(num3, out num4)) { if (num4 > 0) { num++; } if (num4 != 0 || m_checkBox.isChecked) { dictionary.Add(num3, monstersForCategory[num3]); } } } } Int32[] array = dictionary.Keys.ToArray <Int32>(); for (Int32 i = m_pageableList.CurrentIndex; i < m_pageableList.EndIndex; i++) { if (i < dictionary.Count) { Int32 num5 = array[i]; BookEntry entry = m_pageableList.GetEntry(); MonsterStaticData staticData = StaticDataHandler.GetStaticData <MonsterStaticData>(EDataType.MONSTER, num5); if (staticData == null) { entry.OnBookSelected += OnMonsterSelected; entry.Init(num5, "[FF0000]MISSING DATA[-]"); entry.IsNewEntry = false; entry.IsActive = false; num2++; } Int32 num6 = dictionary[num5]; if (!m_checkBox.isChecked) { if (num6 > 0) { entry.OnBookSelected += OnMonsterSelected; entry.Init(num5, LocaManager.GetText(staticData.NameKey)); entry.IsNewEntry = m_bestiaryHandler.NewEntries.Contains(num5); num2++; } } else { entry.OnBookSelected += OnMonsterSelected; if (num6 > 0) { entry.Init(num5, LocaManager.GetText(staticData.NameKey)); entry.IsNewEntry = m_bestiaryHandler.NewEntries.Contains(num5); num2++; } else { entry.Init(num5, "?????"); entry.IsNewEntry = false; entry.IsActive = false; num2++; } } } else { BookEntry entry2 = m_pageableList.GetEntry(); entry2.Init(0, String.Empty); entry2.IsNewEntry = false; } } BookEntry bookEntry = m_pageableList.TrySelectActiveEntryOnPage(); if (bookEntry != null) { OnMonsterSelected(bookEntry, EventArgs.Empty); } return(dictionary.Count); }