using System; using System.Collections.Generic; using Sog; public partial class PayDiamondDesc { public long startTimeInt; public long endTimeInt; public uint currencyRes; public int currencyId; public void SetStartTimeInt(long startTime) { startTimeInt = startTime; } public void SetEndTimeInt(long endTime) { endTimeInt = endTime; } } public partial class PayDiamondDescMgr { // 钻石礼包 public SortedList diamondList; //每日特惠子礼包 public SortedList dailySaleSubList; public PayDiamondDesc GetDiamondByMoney(uint payMoney) { PayDiamondDesc last = null; foreach (PayDiamondDesc desc in diamondList.Values) { if (payMoney < desc.currencyRes) { break; } last = desc; } return last; } public override void ReadComplete() { diamondList = new SortedList(); dailySaleSubList = new SortedList(); SortedList descList = PayDiamondDescMgr.Instance.ItemTable; if (descList == null) { return; } foreach (PayDiamondDesc desc in descList.Values) { // //24 每日特惠子礼包 只记录每日特惠子礼包 // if (desc.goodsType != 24) // { // continue; // } if (!dailySaleSubList.ContainsKey(desc.itemID)) { dailySaleSubList.Add(desc.itemID, desc); } } } public void UpdateGameCurrency(int currencyId) { TraceLog.Trace("GameServer.UpdateGameCurrency currency {0}", currencyId); if (currencyId == 0 && !OSUtils.IsWindows()) { throw new Exception("currency is 0"); } foreach (PayDiamondDesc desc in PayDiamondDescMgr.Instance.ItemTable.Values) { desc.currencyId = currencyId; desc.currencyRes = desc.currency[currencyId].Value; TraceLog.Trace("GameServer.UpdateGameCurrency item {0} money {1} paymentId {2}", desc.itemID, desc.currencyRes, desc.productID); } ReadDone(); } private void ReadDone() { SortedList descList = PayDiamondDescMgr.Instance.ItemTable; if (descList == null) { return; } foreach (PayDiamondDesc desc in descList.Values) { // 1是钻石, 只记录钻石礼包 if (desc.bdc_product_type != 1) { continue; } if (!diamondList.ContainsKey(desc.currencyRes)) { diamondList.Add(desc.currencyRes, desc); } else { TraceLog.Error("PayDiamondDescMgr.ReadComplete money_dollar {0} already exist", desc.currencyRes); m_ErrorCount++; } } } }