using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; namespace Blizzard { class ItemsData { internal int Id; internal int Width; internal int Length; internal double Height; internal int SpriteId; internal string Name; internal string Type; internal string FurniInteractor; internal bool CanGift; internal bool CanRecycle; internal bool CanTrade; internal bool CanStack; internal bool CanSell; internal bool CanWalk; internal bool CanSit; public static List Furnis; public static Dictionary RegisteredFurnis; public static void InitItems() { Furnis = new List(); RegisteredFurnis = new Dictionary(); DataRow Item = BlizzardSystem.MySQL.ReadDataRow("SELECT * FROM items_information"); foreach (DataRow Row in Item.Table.Rows) { ItemsData I = new ItemsData(); I.Id = (int)Row["id"]; I.Type = Row["type"].ToString(); I.SpriteId = int.Parse(Row["sprite_id"].ToString()); I.Width = (int)Row["width"]; I.Length = (int)Row["length"]; I.Name = Row["name"].ToString(); I.Type = Row["type"].ToString(); I.FurniInteractor = Row["furni_type"].ToString(); I.CanGift = BlizzardSystem.ConvertEnumToBool(Row["can_gift"].ToString()); I.CanRecycle = BlizzardSystem.ConvertEnumToBool(Row["can_recycle"].ToString()); I.CanTrade = BlizzardSystem.ConvertEnumToBool(Row["can_trade"].ToString()); I.CanStack = BlizzardSystem.ConvertEnumToBool(Row["can_stack"].ToString()); I.CanSell = BlizzardSystem.ConvertEnumToBool(Row["can_sell"].ToString()); I.CanWalk = BlizzardSystem.ConvertEnumToBool(Row["can_walk"].ToString()); I.CanSit = BlizzardSystem.ConvertEnumToBool(Row["can_sit"].ToString()); I.Height = (double)Row["height"]; Furnis.Add(I); RegisteredFurnis.Add(I.Id, I); } BlizzardSystem.WriteLine("@Server >> Added " + Furnis.Count + " items to static system"); } public static int GetLastId() { int i = 0; foreach (ItemsData U in Furnis) { if (U.Id > i) i = U.Id; else continue; } return i; } } class UserItemsData { internal int Id; internal int UserId; internal int FurniId; internal string ExtraData; public static List UserItems; public static Dictionary UserItemsbyId; public static List GetItemsForUser(int UserId) { List u = new List(); foreach (UserItemsData U in UserItems) { if (U.UserId == UserId) u.Add(U); else continue; } return u; } internal ItemsData GetBaseItem() { return ItemsData.RegisteredFurnis[this.FurniId]; } public static int CalculateLastId() { int i = 0; foreach (UserItemsData U in UserItems) { if (U.Id > i) i = U.Id; else continue; } return i; } public static void InitInventory() { UserItems = new List(); UserItemsbyId = new Dictionary(); DataRow Data = BlizzardSystem.MySQL.ReadDataRow("SELECT * FROM users_items"); foreach (DataRow Row in Data.Table.Rows) { UserItemsData D = new UserItemsData(); D.Id = (int)Row["id"]; D.UserId = (int)Row["userid"]; D.FurniId = (int)Row["itemid"]; D.ExtraData = (string)Row["extradata"]; UserItems.Add(D); UserItemsbyId.Add(D.Id, D); } BlizzardSystem.WriteLine("@Server [Users] >> Added " + UserItems.Count + " inventory items"); } } }