示例#1
0
        public static void ProcessYBItemData()
        {
            lock (YBBuffer)
            {
                while (BitConverter.ToInt64(YBBuffer, ID_Offset) != 0)
                {
                    long itemId = BitConverter.ToInt64(YBBuffer, ID_Offset);
                    byte[] temp = new byte[BytesOfSeparation];
                    Buffer.BlockCopy(YBBuffer, ID_Offset, temp, 0, BytesOfSeparation);
                    ItemBufferList.Add(temp);
                    ID_Offset += BytesOfSeparation;
                }
            }

            try
            {
                foreach (byte[] data in ItemBufferList)
                {
                    using (MemoryStream Stream = new MemoryStream(data))
                    {
                        using (BinaryReader Reader = new BinaryReader(Stream))
                        {
                            ItemTemplate template = new ItemTemplate();

                            template.Id = Reader.ReadInt32();
                            Reader.ReadInt32();
                            template.Name = Encoding.GetEncoding(EncodingName).GetString(Reader.ReadBytes(64)).Replace("\0", "");
                            Reader.ReadByte();
                            template.Side = Reader.ReadByte();
                            template.Class = Reader.ReadByte();
                            Reader.ReadByte();
                            template.Level = Reader.ReadInt16();
                            template.JobLevel = Reader.ReadByte();
                            template.Gender = Reader.ReadByte();
                            template.Category = Reader.ReadByte();
                            template.SubCategory = Reader.ReadByte();
                            template.Weight = Reader.ReadInt16();
                            template.MaxAttack = Reader.ReadInt16();
                            template.MinAttack = Reader.ReadInt16();
                            template.Defense = Reader.ReadInt16();
                            template.Accuracy = Reader.ReadInt16();
                            Reader.ReadInt64();
                            template.Price = Reader.ReadInt32();
                            Reader.ReadInt64();
                            Reader.ReadInt64();
                            Reader.ReadInt64();
                            template.Description = Encoding.GetEncoding(EncodingName).GetString(Reader.ReadBytes(256)).Replace("\0", "");

                            Items.Add(template);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Log.ErrorException("ProcessYBItemData:", ex);
            }
        }
示例#2
0
 public ShoppingItem(ItemTemplate itemTemplate, int count, StorageItem inventoryItem = null)
 {
     ItemTemplate = itemTemplate;
     Count = count;
     InventoryItem = inventoryItem;
 }
示例#3
0
 public ShoppingItem(ItemTemplate itemTemplate, int count, long uid = 0)
 {
     ItemTemplate = itemTemplate;
     Count = count;
     Uid = uid;
 }
示例#4
0
 private void NewButton_Click(object sender, RoutedEventArgs e)
 {
     ItemTemplate addnew = new ItemTemplate();
     ItemBuilder.Items.Add(addnew);
     RefreshList();
 }