Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }