Esempio n. 1
0
 private static int DescendingNum(CQuestGroup x, CQuestGroup y)
 {
     if (x.GetGroupSort() < y.GetGroupSort())
     {
         return(1);
     }
     return(-1);
 }
Esempio n. 2
0
 private static int AscendingNum(CQuestGroup x, CQuestGroup y)
 {
     if (x.GetGroupSort() >= y.GetGroupSort())
     {
         return 1;
     }
     return -1;
 }
Esempio n. 3
0
    public void SortingQuestInGroup()
    {
        CQuest       cQuest       = null;
        QUEST_SORTID qUEST_SORTID = null;

        for (int i = 0; i < 200; i++)
        {
            if (this.m_stQuestGroupInfo.m_QuestUniqueBit.ContainsKey(i))
            {
                QUEST_SORTID qUEST_SORTID2 = this.m_stQuestGroupInfo.m_QuestUniqueBit[i];
                if (qUEST_SORTID2 != null)
                {
                    cQuest = NrTSingleton <NkQuestManager> .Instance.GetQuestByQuestUnique(qUEST_SORTID2.m_strQuestUnique);

                    if (cQuest != null)
                    {
                        CQuest questByQuestUnique = NrTSingleton <NkQuestManager> .Instance.GetQuestByQuestUnique(cQuest.GetQuestCommon().strPreQuestUnique);

                        if (questByQuestUnique != null)
                        {
                            CQuestGroup questGroupByQuestUnique = NrTSingleton <NkQuestManager> .Instance.GetQuestGroupByQuestUnique(cQuest.GetQuestUnique());

                            CQuestGroup questGroupByQuestUnique2 = NrTSingleton <NkQuestManager> .Instance.GetQuestGroupByQuestUnique(questByQuestUnique.GetQuestUnique());

                            if (questGroupByQuestUnique != null && questGroupByQuestUnique2 != null && questGroupByQuestUnique.GetGroupUnique() != questGroupByQuestUnique2.GetGroupUnique() && questGroupByQuestUnique.GetGroupSort() > questGroupByQuestUnique2.GetGroupSort() && this.m_stQuestGroupInfo.m_QuestUnique.ContainsKey(qUEST_SORTID2.m_strQuestUnique))
                            {
                                qUEST_SORTID = this.m_stQuestGroupInfo.m_QuestUnique[qUEST_SORTID2.m_strQuestUnique];
                                qUEST_SORTID.m_i32QuestSort = 1;
                                break;
                            }
                        }
                        else if (questByQuestUnique == null && this.m_stQuestGroupInfo.m_QuestUnique.ContainsKey(qUEST_SORTID2.m_strQuestUnique))
                        {
                            qUEST_SORTID = this.m_stQuestGroupInfo.m_QuestUnique[qUEST_SORTID2.m_strQuestUnique];
                            qUEST_SORTID.m_i32QuestSort = 1;
                            break;
                        }
                    }
                }
            }
        }
        if (qUEST_SORTID == null || cQuest == null)
        {
            return;
        }
        int num = 2;

        for (int j = 0; j < 200; j++)
        {
            CQuest questByQuestUnique2 = NrTSingleton <NkQuestManager> .Instance.GetQuestByQuestUnique(qUEST_SORTID.m_strQuestUnique);

            if (questByQuestUnique2 != null)
            {
                if (this.m_stQuestGroupInfo.m_QuestUnique.ContainsKey(questByQuestUnique2.GetQuestCommon().strNextQuestUnique))
                {
                    QUEST_SORTID qUEST_SORTID3 = this.m_stQuestGroupInfo.m_QuestUnique[questByQuestUnique2.GetQuestCommon().strNextQuestUnique];
                    if (qUEST_SORTID3 != null)
                    {
                        qUEST_SORTID3.m_i32QuestSort = num;
                        num++;
                        qUEST_SORTID = qUEST_SORTID3;
                    }
                }
            }
        }
        this.m_stQuestGroupInfo.m_QuestList.Sort(new Comparison <QUEST_SORTID>(NkQuestManager.AscendingQuestNum));
    }