private static void LoadToons() { var query = "SELECT * from toons"; var cmd = new SQLiteCommand(query, DBManager.Connection); var reader = cmd.ExecuteReader(); if (!reader.HasRows) { return; } while (reader.Read()) { var itemCreate = new Dictionary <uint, Item>(); var databaseId = (ulong)reader.GetInt64(0); //TODO: Move this to toon class only create a toon with id and call load from DB var toon = new Toon(databaseId, reader.GetString(1), (int)reader.GetInt32(6), reader.GetByte(2), reader.GetByte(3), reader.GetByte(4), reader.GetInt64(5), (uint)reader.GetInt32(7), (int)reader.GetInt32(8), null); //add visual equipment //TODO: Load all visualEquipment at once D3.Hero.VisualItem[] visualItems = new D3.Hero.VisualItem[8]; var vItemQuery = string.Format("SELECT * from inventory WHERE toon_id = {0} and inventory_slot <> -1", databaseId); var itemCmd = new SQLiteCommand(vItemQuery, DBManager.Connection); var itemReader = itemCmd.ExecuteReader(); if (itemReader.HasRows) { while (itemReader.Read()) { var slot = (int)itemReader.GetInt64(3); var gbid = (int)itemReader.GetInt64(4); visualItems[slot] = D3.Hero.VisualItem.CreateBuilder() .SetGbid(gbid) .SetEffectLevel(0) .Build(); } toon.HeroVisualEquipmentField.Value = D3.Hero.VisualEquipment.CreateBuilder().AddRangeVisualItem(visualItems).Build(); } //add inventory items var itemQuery = string.Format("SELECT * from inventory WHERE toon_id = {0} and inventory_slot = -1", databaseId); itemCmd = new SQLiteCommand(itemQuery, DBManager.Connection); itemReader = itemCmd.ExecuteReader(); if (itemReader.HasRows) { uint count = 0; toon.ItemsTable = new Dictionary <uint, KeyValuePair <ItemTable, Vector2D> >(); while (itemReader.Read()) { var x = (int)itemReader.GetInt64(1); var y = (int)itemReader.GetInt64(2); var slot = (int)itemReader.GetInt64(3); var gbid = (int)itemReader.GetInt64(4); ItemTable it = ItemGenerator.GetItemDefinition(gbid); Vector2D v2d = new Vector2D(x, y); toon.ItemsTable.Add((uint)gbid, new KeyValuePair <ItemTable, Vector2D>(it, v2d)); count++; } toon.Items = itemCreate; } Toons.Add(databaseId, toon); } }
private static void LoadToons() { var query = "SELECT * from toons"; var cmd = new SQLiteCommand(query, DBManager.Connection); var reader = cmd.ExecuteReader(); if (!reader.HasRows) return; while (reader.Read()) { var itemCreate = new Dictionary<uint, Item>(); var databaseId = (ulong)reader.GetInt64(0); //TODO: Move this to toon class only create a toon with id and call load from DB var toon = new Toon(databaseId, reader.GetString(1), (int)reader.GetInt32(6), reader.GetByte(2), reader.GetByte(3), reader.GetByte(4), reader.GetInt64(5), (uint)reader.GetInt32(7), (int)reader.GetInt32(8),null); //add visual equipment //TODO: Load all visualEquipment at once D3.Hero.VisualItem[] visualItems = new D3.Hero.VisualItem[8]; var vItemQuery = string.Format("SELECT * from inventory WHERE toon_id = {0} and inventory_slot <> -1", databaseId); var itemCmd = new SQLiteCommand(vItemQuery, DBManager.Connection); var itemReader = itemCmd.ExecuteReader(); if (itemReader.HasRows) { while (itemReader.Read()) { var slot = (int)itemReader.GetInt64(3); var gbid = (int)itemReader.GetInt64(4); visualItems[slot] = D3.Hero.VisualItem.CreateBuilder() .SetGbid(gbid) .SetEffectLevel(0) .Build(); } toon.HeroVisualEquipmentField.Value = D3.Hero.VisualEquipment.CreateBuilder().AddRangeVisualItem(visualItems).Build(); } //add inventory items var itemQuery = string.Format("SELECT * from inventory WHERE toon_id = {0} and inventory_slot = -1", databaseId); itemCmd = new SQLiteCommand(itemQuery, DBManager.Connection); itemReader = itemCmd.ExecuteReader(); if (itemReader.HasRows) { uint count = 0; toon.ItemsTable = new Dictionary<uint, KeyValuePair<ItemTable, Vector2D>>(); while (itemReader.Read()) { var x = (int)itemReader.GetInt64(1); var y = (int)itemReader.GetInt64(2); var slot = (int)itemReader.GetInt64(3); var gbid = (int)itemReader.GetInt64(4); ItemTable it = ItemGenerator.GetItemDefinition(gbid); Vector2D v2d = new Vector2D(x,y); toon.ItemsTable.Add((uint)gbid,new KeyValuePair<ItemTable, Vector2D>(it,v2d)); count++; } toon.Items = itemCreate; } Toons.Add(databaseId, toon); } }
private static void LoadToons() { var query = "SELECT * from toons"; var cmd = new SQLiteCommand(query, DBManager.Connection); var reader = cmd.ExecuteReader(); if (!reader.HasRows) return; while (reader.Read()) { var databaseId = (ulong)reader.GetInt64(0); //TODO: Move this to toon class only create a toon with id and call load from DB var toon = new Toon(databaseId, reader.GetString(1), (int)reader.GetInt32(6), reader.GetByte(2), reader.GetByte(3), reader.GetByte(4), reader.GetInt64(5), (uint)reader.GetInt32(7), (int)reader.GetInt32(8)); //add visual equipment //TODO: Load all visualEquipment at once D3.Hero.VisualItem[] visualItems = new D3.Hero.VisualItem[8]; var itemQuery = string.Format("SELECT * from inventory WHERE toon_id = {0}", databaseId); var itemCmd = new SQLiteCommand(itemQuery, DBManager.Connection); var itemReader = itemCmd.ExecuteReader(); if (itemReader.HasRows) { while (itemReader.Read()) { var slot = (int)itemReader.GetInt64(3); var gbid = (int)itemReader.GetInt64(4); visualItems[slot] = D3.Hero.VisualItem.CreateBuilder() .SetGbid(gbid) .SetEffectLevel(0) .Build(); } toon.HeroVisualEquipmentField.Value = D3.Hero.VisualEquipment.CreateBuilder().AddRangeVisualItem(visualItems).Build(); } Toons.Add(databaseId, toon); } }