示例#1
0
        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);
        }
示例#2
0
 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);
     }
 }