public override bool TakeAction() { m_ResponsePacket.ChanceType = m_RequestPacket.ChanceType; PlayerChanceLogic pc = new PlayerChanceLogic(); pc.SetUserAndType(m_UserId, m_RequestPacket.ChanceType); m_ResponsePacket.NextRefreshTime = pc.MyChance.NextRefreshTime; m_ResponsePacket.NextFreeTime = pc.MyChance.NextFreeTime; foreach (var reward in pc.MyChance.UnopenedChanceRewards) { PBItemInfo item = new PBItemInfo() { Type = reward.Value.ItemId, Count = reward.Value.ItemCount }; m_ResponsePacket.GoodInfo.Add(item); } foreach (var opened in pc.MyChance.OpenedChanceRewards) { m_ResponsePacket.OpenedIndex.Add(opened.Key); PBItemInfo item = new PBItemInfo() { Type = opened.Value.ItemId, Count = opened.Value.ItemCount }; m_ResponsePacket.OpenedGoodInfo.Add(item); m_ResponsePacket.GoodInfo.Add(item); } m_ResponsePacket.FreeChanceTimes = pc.MyChance.TotalFreeCount; return(true); }
private void SetItemInfo(PlayerPackageLogic package) { foreach (var item in package.MyPackage.Inventories) { if (item.Value == 0) { package.MyPackage.Inventories.Remove(item.Key); continue; } PBItemInfo itemInfo = new PBItemInfo(); itemInfo.Type = item.Key; itemInfo.Count = item.Value; m_ResponsePacket.ItemInfo.Add(itemInfo); } }