Esempio n. 1
0
    public void UpdateQuestList(CliProto.SC_GIFT_DAY_NTF netMsg)
    {
        m_questInfos.Clear();

        Hashtable dailyQuestDB = sdConfDataMgr.Instance().m_dailyQuestDB;

        foreach (DictionaryEntry item in dailyQuestDB)
        {
            DailyQuest dailyQuest = item.Value as DailyQuest;

            QuestInfo questInfo = new QuestInfo();
            questInfo.questType          = (uint)dailyQuest.DayQuestType;
            questInfo.questFinishedTimes = 0;
            questInfo.questIdx           = dailyQuest.DayQuestId;
            questInfo.questTotalTimes    = dailyQuest.DayQuestCount;
            questInfo.questScroe         = dailyQuest.DayQuestScore;
            questInfo.questTitile        = dailyQuest.QuestTitle;
            questInfo.questDescript      = dailyQuest.QuestDescription;
            questInfo.finished           = false;

            //m_questInfos.Insert(questInfo.questIdx-1, questInfo);
            m_questInfos.Add(questInfo);

            //if(questInfo.questScroe > m_maxScore)
            //	m_maxScore = questInfo.questScroe;
        }


        m_questInfos.Sort(delegate(QuestInfo x, QuestInfo y)
        {
            return(x.questIdx.CompareTo(y.questIdx));
        });

        for (int i = 0; i < netMsg.m_Count; i++)
        {
            foreach (QuestInfo item in m_questInfos)
            {
                if (item.questType == netMsg.m_Info[i].m_QuestId)
                {
                    item.questFinishedTimes = netMsg.m_Info[i].m_FinishProgress;

                    if (netMsg.m_Info[i].m_ScoreReceived == 0)
                    {
                        item.finished = false;
                    }
                    else
                    {
                        m_curScore   += item.questScroe;
                        item.finished = true;
                    }
                }
            }
        }

        if (m_goWndRoot != null && _bWndOpen)
        {
            RefreshAwardBox();
            RefreshQuestList(false);
        }
    }
Esempio n. 2
0
 private static void msg_SC_GIFT_DAY_NTF(int iMsgID, ref CMessage msg)
 {
     CliProto.SC_GIFT_DAY_NTF netMsg = (CliProto.SC_GIFT_DAY_NTF)msg;
     EverydayQuestWnd.Instance.UpdateQuestList(netMsg);
 }