//显示样本 public List <Exchange> getExchangeList(NoticeActiveAndSid[] actives) { List <Exchange> list = new List <Exchange>(); NoticeActiveServerInfo serverInfo; NewExchange exchange; ActiveTime activeTime; List <int> closeSidList = NoticeManagerment.Instance.CloseNoticeSidList; int now = ServerTimeKit.getSecondTime(); foreach (NoticeActiveAndSid active in actives) { activeTime = ActiveTime.getActiveTimeByID(active.activeID); if (activeTime.getIsFinish() || activeTime.getPreShowTime() > now || now > activeTime.getEndTime()) { continue; } serverInfo = activeInfo.get(active.activeID) as NoticeActiveServerInfo; foreach (int sid in active.exchangeSids) { if (closeSidList.Contains(sid)) { continue; } exchange = serverInfo.goodsList.get(sid) as NewExchange; if (exchange == null) { exchange = new NewExchange(sid, 0); exchange.timeID = active.activeID; serverInfo.goodsList.put(sid, exchange); } list.Add(exchange); } } return(list); }
//初始化新兑换活动 serverInfo=[[400000000商品id,1全服已购买次数]],userInfo=[[[consume_rmb类型,200活动期间消耗]暂时只有一个],[[[role_times,400000000],1]个人消耗次数,...]] private void initNewExchange(int activeID, ErlArray serverInfo, ErlArray userInfo) { NoticeActiveServerInfo exchangeInfo = activeInfo.get(activeID) as NoticeActiveServerInfo; if (exchangeInfo == null) { exchangeInfo = new NoticeActiveServerInfo(); activeInfo.put(activeID, exchangeInfo); } ErlArray temp, temp1; NewExchange exchange; int sid; for (int i = 0; i < serverInfo.Value.Length; i++) { //暂时不考虑全服数据 } if (userInfo.Value.Length > 0) { temp = (userInfo.Value[0] as ErlArray); if (temp.Value.Length > 0) { exchangeInfo.consumeValue = StringKit.toInt((temp.Value[0] as ErlArray).Value[1].getValueString()); //兑换rmb消耗入门限制 } temp = userInfo.Value[1] as ErlArray; for (int i = 0; i < temp.Value.Length; i++) { temp1 = temp.Value[i] as ErlArray; sid = StringKit.toInt((temp1.Value[0] as ErlArray).Value[1].getValueString()); exchange = exchangeInfo.goodsList.get(sid) as NewExchange; if (exchange == null) { exchange = new NewExchange(sid, 0); exchange.timeID = activeID; exchangeInfo.goodsList.put(sid, exchange); } exchange.setNum(StringKit.toInt(temp1.Value[1].getValueString())); } } }