Esempio n. 1
0
        private Int32 UpdateBookList()
        {
            CleanupPageableList();
            m_bookTextLabel.Hide();
            m_firstPageContent.SetActive(false);
            m_bookTextLabel.Hide();
            m_titleLabel.enabled = false;
            if (m_bookCoverImage.mainTexture != null)
            {
                Texture mainTexture = m_bookCoverImage.mainTexture;
                m_bookCoverImage.mainTexture = null;
                if (mainTexture != null)
                {
                    mainTexture.UnloadAsset();
                }
            }
            m_categoryCoverImage.enabled = true;
            m_headerLabel.enabled        = true;
            NGUITools.SetActive(m_checkBox.gameObject, true);
            NGUITools.SetActive(m_pageableList.gameObject, true);
            Int32   numberOfBookForCategory = m_loreBookHandler.GetNumberOfBookForCategory((ELoreBookCategories)m_categoryTabs.CurrentTabIndex);
            Int32   num     = 0;
            String  text    = "LorebookCoverArt/ART_lore_category_" + ((ELoreBookCategories)m_categoryTabs.CurrentTabIndex).ToString().ToLower();
            Texture texture = (Texture)Resources.Load(text);

            if (texture == null)
            {
                Debug.LogError("Could not load texture from: " + text);
            }
            if (m_categoryCoverImage.mainTexture != texture)
            {
                Texture mainTexture2 = m_categoryCoverImage.mainTexture;
                m_categoryCoverImage.mainTexture = texture;
                if (mainTexture2 != null)
                {
                    mainTexture2.UnloadAsset();
                }
            }
            m_pageLabel.enabled = false;
            List <LoreBookStaticData> booksForCategory = m_loreBookHandler.GetBooksForCategory((ELoreBookCategories)m_categoryTabs.CurrentTabIndex, m_checkBox.isChecked);

            for (Int32 i = m_pageableList.CurrentIndex; i < m_pageableList.EndIndex; i++)
            {
                BookEntry entry = m_pageableList.GetEntry();
                entry.IsActive = true;
                if (i < booksForCategory.Count)
                {
                    if (!m_checkBox.isChecked)
                    {
                        entry.Init(booksForCategory[i].StaticID, LocaManager.GetText(booksForCategory[i].TitleKey));
                        entry.IsNewEntry      = m_loreBookHandler.NewEntries.Contains(booksForCategory[i].StaticID);
                        entry.OnBookSelected += OnBookSelected;
                        num++;
                    }
                    else if (m_loreBookHandler.FoundBooks.Contains(booksForCategory[i]))
                    {
                        entry.Init(booksForCategory[i].StaticID, LocaManager.GetText(booksForCategory[i].TitleKey));
                        entry.OnBookSelected += OnBookSelected;
                        entry.IsNewEntry      = m_loreBookHandler.NewEntries.Contains(booksForCategory[i].StaticID);
                        num++;
                    }
                    else
                    {
                        entry.Init(booksForCategory[i].StaticID, "?????");
                        entry.IsNewEntry = false;
                        entry.IsActive   = false;
                    }
                }
                else
                {
                    entry.Init(0, String.Empty);
                }
            }
            m_headerLabel.text = LocaManager.GetText("TT_LORE_CATEGORY_" + ((ELoreBookCategories)m_categoryTabs.CurrentTabIndex).ToString());
            if (!m_checkBox.isChecked)
            {
                return(booksForCategory.Count);
            }
            return(numberOfBookForCategory);
        }
Esempio n. 2
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);
        }
Esempio n. 3
0
        private Int32 UpdateQuestList(EQuestType p_type)
        {
            CleanupPageableList();
            m_questType = p_type;
            Boolean          flag = false;
            List <QuestStep> stepsByState;

            if (m_showFinished.isChecked)
            {
                stepsByState = LegacyLogic.Instance.WorldManager.QuestHandler.GetStepsByState(EQuestState.ACTIVE);
                stepsByState.AddRange(LegacyLogic.Instance.WorldManager.QuestHandler.GetStepsByState(EQuestState.SOLVED));
            }
            else
            {
                stepsByState = LegacyLogic.Instance.WorldManager.QuestHandler.GetStepsByState(EQuestState.ACTIVE);
            }
            List <QuestStep> list = new List <QuestStep>();

            foreach (QuestStep questStep in stepsByState)
            {
                Boolean flag2 = false;
                if (p_type == EQuestType.ALL)
                {
                    flag2 = true;
                }
                else if (p_type == EQuestType.QUEST_TYPE_MAIN && questStep.StaticData.Type == p_type)
                {
                    flag2 = true;
                }
                else if (p_type == EQuestType.QUEST_TYPE_ONGOING && questStep.StaticData.Type == p_type)
                {
                    flag2 = true;
                }
                else if (p_type == EQuestType.QUEST_TYPE_SIDE && (questStep.StaticData.Type == EQuestType.QUEST_TYPE_GRANDMASTER || questStep.StaticData.Type == EQuestType.QUEST_TYPE_PROMOTION || questStep.StaticData.Type == EQuestType.QUEST_TYPE_REPEATABLE || questStep.StaticData.Type == EQuestType.QUEST_TYPE_SIDE))
                {
                    flag2 = true;
                }
                if (flag2)
                {
                    if (m_selectedQuestStep != null && m_selectedQuestStep == questStep)
                    {
                        flag = true;
                    }
                    list.Add(questStep);
                }
            }
            for (Int32 i = m_pageableList.CurrentIndex; i < m_pageableList.EndIndex; i++)
            {
                if (i < list.Count)
                {
                    QuestStep questStep2 = list[i];
                    BookEntry entry      = m_pageableList.GetEntry();
                    entry.Init(questStep2.StaticData.StaticID, questStep2.StaticData.Name);
                    QuestEntry questEntry  = entry;
                    QuestEntry questEntry2 = questEntry;
                    questEntry2.OnQuestClicked = (EventHandler)Delegate.Combine(questEntry2.OnQuestClicked, new EventHandler(QuestClick));
                    questEntry.RestorePositions();
                    questEntry.SetQuestStep(questStep2);
                }
                else
                {
                    BookEntry entry2 = m_pageableList.GetEntry();
                    entry2.Init(0, String.Empty);
                }
            }
            if (list.Count > 0)
            {
                if (flag)
                {
                    QuestClick(m_selectedQuestStep, EventArgs.Empty);
                }
                else
                {
                    m_selectedQuestStep = null;
                    QuestClick(m_pageableList.EntryList[0].GetQuestStep(), EventArgs.Empty);
                }
            }
            else
            {
                ClearDetails();
            }
            return(list.Count);
        }