Esempio n. 1
0
        public static SQLPlayerGearItems CreateEmpty()
        {
            SQLPlayerGearItems value = new SQLPlayerGearItems();

            value.Items = new Dictionary <ItemSlot, SQLIngameItemID>();
            return(value);
        }
Esempio n. 2
0
        public bool GetPlayerGearItems(SQLPlayerData _PlayerData, out SQLPlayerGearItems _ResultGearItems)
        {
            var conn = OpenConnection();

            try
            {
                const int HEAD_COLUMN     = 0;
                const int NECK_COLUMN     = 1;
                const int SHOULDER_COLUMN = 2;
                const int SHIRT_COLUMN    = 3;
                const int CHEST_COLUMN    = 4;
                const int BELT_COLUMN     = 5;
                const int LEGS_COLUMN     = 6;
                const int FEET_COLUMN     = 7;
                const int WRIST_COLUMN    = 8;
                const int GLOVES_COLUMN   = 9;
                const int FINGER1_COLUMN  = 10;
                const int FINGER2_COLUMN  = 11;
                const int TRINKET1_COLUMN = 12;
                const int TRINKET2_COLUMN = 13;
                const int BACK_COLUMN     = 14;
                const int MAINHAND_COLUMN = 15;
                const int OFFHAND_COLUMN  = 16;
                const int RANGED_COLUMN   = 17;
                const int TABARD_COLUMN   = 18;
                using (var cmd = new NpgsqlCommand("SELECT head, neck, shoulder, shirt, chest, belt, legs, feet, wrist, gloves, finger_1, finger_2, trinket_1, trinket_2, back, main_hand, off_hand, ranged, tabard FROM PlayerGearTable WHERE id=:ID", conn))
                {
                    {
                        var idParam = new NpgsqlParameter("ID", NpgsqlDbType.Integer);
                        idParam.Value = (int)_PlayerData.PlayerGearID;
                        cmd.Parameters.Add(idParam);
                    }
                    using (var reader = cmd.ExecuteReader())
                    {
                        if (reader.Read() == true)
                        {
                            _ResultGearItems = SQLPlayerGearItems.CreateEmpty();
                            _ResultGearItems.Items.Add(ItemSlot.Head, new SQLIngameItemID(reader.GetInt32(HEAD_COLUMN)));
                            _ResultGearItems.Items.Add(ItemSlot.Neck, new SQLIngameItemID(reader.GetInt32(NECK_COLUMN)));
                            _ResultGearItems.Items.Add(ItemSlot.Shoulder, new SQLIngameItemID(reader.GetInt32(SHOULDER_COLUMN)));
                            _ResultGearItems.Items.Add(ItemSlot.Shirt, new SQLIngameItemID(reader.GetInt32(SHIRT_COLUMN)));
                            _ResultGearItems.Items.Add(ItemSlot.Chest, new SQLIngameItemID(reader.GetInt32(CHEST_COLUMN)));
                            _ResultGearItems.Items.Add(ItemSlot.Belt, new SQLIngameItemID(reader.GetInt32(BELT_COLUMN)));
                            _ResultGearItems.Items.Add(ItemSlot.Legs, new SQLIngameItemID(reader.GetInt32(LEGS_COLUMN)));
                            _ResultGearItems.Items.Add(ItemSlot.Feet, new SQLIngameItemID(reader.GetInt32(FEET_COLUMN)));
                            _ResultGearItems.Items.Add(ItemSlot.Wrist, new SQLIngameItemID(reader.GetInt32(WRIST_COLUMN)));
                            _ResultGearItems.Items.Add(ItemSlot.Gloves, new SQLIngameItemID(reader.GetInt32(GLOVES_COLUMN)));
                            _ResultGearItems.Items.Add(ItemSlot.Finger_1, new SQLIngameItemID(reader.GetInt32(FINGER1_COLUMN)));
                            _ResultGearItems.Items.Add(ItemSlot.Finger_2, new SQLIngameItemID(reader.GetInt32(FINGER2_COLUMN)));
                            _ResultGearItems.Items.Add(ItemSlot.Trinket_1, new SQLIngameItemID(reader.GetInt32(TRINKET1_COLUMN)));
                            _ResultGearItems.Items.Add(ItemSlot.Trinket_2, new SQLIngameItemID(reader.GetInt32(TRINKET2_COLUMN)));
                            _ResultGearItems.Items.Add(ItemSlot.Back, new SQLIngameItemID(reader.GetInt32(BACK_COLUMN)));
                            _ResultGearItems.Items.Add(ItemSlot.Main_Hand, new SQLIngameItemID(reader.GetInt32(MAINHAND_COLUMN)));
                            _ResultGearItems.Items.Add(ItemSlot.Off_Hand, new SQLIngameItemID(reader.GetInt32(OFFHAND_COLUMN)));
                            _ResultGearItems.Items.Add(ItemSlot.Ranged, new SQLIngameItemID(reader.GetInt32(RANGED_COLUMN)));
                            _ResultGearItems.Items.Add(ItemSlot.Tabard, new SQLIngameItemID(reader.GetInt32(TABARD_COLUMN)));
                            _ResultGearItems.Items.RemoveAll((_V) => _V.Value.ID == 0);
                            return(true);
                        }
                    }
                }
            }
            finally
            {
                CloseConnection();
            }
            _ResultGearItems = SQLPlayerGearItems.CreateEmpty();
            return(false);
        }