Beispiel #1
0
        public void Serialize(BinaryWriter binaryWriter)
        {
            int size = EquipList.Count;

            binaryWriter.Write(size);

            for (int i = 0; i < size; i++)
            {
                BaseGoods equipment = EquipList[i];

                binaryWriter.Write(equipment.Type);
                binaryWriter.Write(equipment.Index);
                binaryWriter.Write(equipment.GoodsNum);
            }

            size = GoodsList.Count;
            binaryWriter.Write(size);

            for (int i = 0; i < size; i++)
            {
                BaseGoods goods = GoodsList[i];

                binaryWriter.Write(goods.Type);
                binaryWriter.Write(goods.Index);
                binaryWriter.Write(goods.GoodsNum);
            }
        }
Beispiel #2
0
 /// <summary>
 /// 在物品列表中增加指定type和index的物品num个
 /// </summary>
 /// <param name="type"></param>
 /// <param name="index"></param>
 /// <param name="num"></param>
 public void AddGoods(int type, int index, int num)
 {
     if (type >= 1 && type <= 7)
     {
         // 装备
         if (EquipList.Where(m => m.Type == type && m.Index == index).FirstOrDefault() is BaseGoods equip)   //已有物品
         {
             equip.AddGoodsNum(num);
         }
         else    //增加物品
         {
             BaseGoods newGoods = Context.LibData.GetGoods(type, index);
             newGoods.GoodsNum = num;
             EquipList.Add(newGoods);
         }
     }
     else if (type >= 8 && type <= 14)
     {
         // 物品
         if (GoodsList.Where(m => m.Type == type && m.Index == index).FirstOrDefault() is BaseGoods goods)   //已有物品
         {
             goods.AddGoodsNum(num);
         }
         else    //增加物品
         {
             BaseGoods newGoods = Context.LibData.GetGoods(type, index);
             newGoods.GoodsNum = num;
             GoodsList.Add(newGoods);
         }
     }
 }
Beispiel #3
0
        public void Deserialize(BinaryReader binaryReader)
        {
            Clear();

            int size = binaryReader.ReadInt32();

            for (int i = 0; i < size; i++)
            {
                BaseGoods equipment = Context.LibData.GetGoods(binaryReader.ReadInt32(), binaryReader.ReadInt32());
                equipment.GoodsNum = binaryReader.ReadInt32();
                EquipList.Add(equipment);
            }

            size = binaryReader.ReadInt32();
            for (int i = 0; i < size; i++)
            {
                BaseGoods goods = Context.LibData.GetGoods(binaryReader.ReadInt32(), binaryReader.ReadInt32());
                goods.GoodsNum = binaryReader.ReadInt32();
                GoodsList.Add(goods);
            }
        }