public void UpdateAwardBox(CliProto.SC_GIFT_DAY_BOX_NTF netMsg) { m_awardBoxInfos.Clear(); Hashtable awardBoxDB = sdConfDataMgr.Instance().m_awardBoxDB; foreach (DictionaryEntry item in awardBoxDB) { AwardBox awardBox = item.Value as AwardBox; AwardBoxInfo awardBoxInfo = new AwardBoxInfo(); awardBoxInfo.awardBoxId = awardBox.BoxID; awardBoxInfo.needSocre = awardBox.NeedScore; awardBoxInfo.finished = false; awardBoxInfo.itemId1 = awardBox.ItemId1; awardBoxInfo.itemNum1 = awardBox.ItemNum1; awardBoxInfo.itemId2 = awardBox.ItemId2; awardBoxInfo.itemNum2 = awardBox.ItemNum2; awardBoxInfo.itemId3 = awardBox.ItemId3; awardBoxInfo.itemNum3 = awardBox.ItemNum3; awardBoxInfo.goAwardBoxBtn = null; awardBoxInfo.goAwardLabel = null; //m_awardBoxInfos.Insert((int)awardBoxInfo.awardBoxId-1, awardBoxInfo); m_awardBoxInfos.Add(awardBoxInfo); } m_awardBoxInfos.Sort(delegate(AwardBoxInfo x, AwardBoxInfo y) { return(x.awardBoxId.CompareTo(y.awardBoxId)); }); for (int i = 0; i < netMsg.m_Count; i++) { foreach (AwardBoxInfo item in m_awardBoxInfos) { if (netMsg.m_BoxID[i] == item.awardBoxId) { item.finished = true; break; } } } RefreshDirt(); if (m_goWndRoot != null && _bWndOpen) { RefreshAwardBox(); RefreshQuestList(false); } }
private static void msg_SC_GIFT_DAY_BOX_NTF(int iMsgID, ref CMessage msg) { CliProto.SC_GIFT_DAY_BOX_NTF netMsg = (CliProto.SC_GIFT_DAY_BOX_NTF)msg; EverydayQuestWnd.Instance.UpdateAwardBox(netMsg); }