Beispiel #1
0
        public Item(IDatabasePreloader databasePreloader, DbCharacterItems dbItem) : this(databasePreloader, dbItem.Type, dbItem.TypeId)
        {
            Bag     = dbItem.Bag;
            Slot    = dbItem.Slot;
            Quality = dbItem.Quality;

            if (dbItem.GemTypeId1 != 0)
            {
                Gem1 = new Gem(databasePreloader, dbItem.GemTypeId1);
            }
            if (dbItem.GemTypeId2 != 0)
            {
                Gem2 = new Gem(databasePreloader, dbItem.GemTypeId2);
            }
            if (dbItem.GemTypeId3 != 0)
            {
                Gem3 = new Gem(databasePreloader, dbItem.GemTypeId3);
            }
            if (dbItem.GemTypeId4 != 0)
            {
                Gem4 = new Gem(databasePreloader, dbItem.GemTypeId4);
            }
            if (dbItem.GemTypeId5 != 0)
            {
                Gem5 = new Gem(databasePreloader, dbItem.GemTypeId5);
            }
            if (dbItem.GemTypeId6 != 0)
            {
                Gem6 = new Gem(databasePreloader, dbItem.GemTypeId6);
            }
            Count = dbItem.Count;
        }
        internal async Task SaveItemInInventory(object[] args)
        {
            int      charId         = (int)args[0];
            byte     type           = (byte)args[1];
            byte     typeId         = (byte)args[2];
            byte     count          = (byte)args[3];
            ushort   quality        = (ushort)args[4];
            byte     bag            = (byte)args[5];
            byte     slot           = (byte)args[6];
            int      gem1           = (int)args[7];
            int      gem2           = (int)args[8];
            int      gem3           = (int)args[9];
            int      gem4           = (int)args[10];
            int      gem5           = (int)args[11];
            int      gem6           = (int)args[12];
            bool     hasColor       = (bool)args[13];
            byte     alpha          = (byte)args[14];
            byte     saturation     = (byte)args[15];
            byte     r              = (byte)args[16];
            byte     g              = (byte)args[17];
            byte     b              = (byte)args[18];
            DateTime creationTime   = (DateTime)args[19];
            DateTime?expirationTime = (DateTime?)args[20];

            var dbItem = new DbCharacterItems()
            {
                CharacterId        = charId,
                Type               = type,
                TypeId             = typeId,
                Count              = count,
                Quality            = quality,
                Bag                = bag,
                Slot               = slot,
                GemTypeId1         = gem1,
                GemTypeId2         = gem2,
                GemTypeId3         = gem3,
                GemTypeId4         = gem4,
                GemTypeId5         = gem5,
                GemTypeId6         = gem6,
                HasDyeColor        = hasColor,
                DyeColorAlpha      = alpha,
                DyeColorSaturation = saturation,
                DyeColorR          = r,
                DyeColorG          = g,
                DyeColorB          = b,
                CreationTime       = creationTime,
                ExpirationTime     = expirationTime
            };

            _database.CharacterItems.Add(dbItem);
            await _database.SaveChangesAsync();
        }
Beispiel #3
0
        internal static async Task SaveItemInInventory(object[] args)
        {
            int  charId     = (int)args[0];
            byte type       = (byte)args[1];
            byte typeId     = (byte)args[2];
            byte count      = (byte)args[3];
            byte bag        = (byte)args[4];
            byte slot       = (byte)args[5];
            int  gem1       = (int)args[6];
            int  gem2       = (int)args[7];
            int  gem3       = (int)args[8];
            int  gem4       = (int)args[9];
            int  gem5       = (int)args[10];
            int  gem6       = (int)args[11];
            bool hasColor   = (bool)args[12];
            byte alpha      = (byte)args[13];
            byte saturation = (byte)args[14];
            byte r          = (byte)args[15];
            byte g          = (byte)args[16];
            byte b          = (byte)args[16];

            using var database = DependencyContainer.Instance.Resolve <IDatabase>();
            var dbItem = new DbCharacterItems()
            {
                CharacterId        = charId,
                Type               = type,
                TypeId             = typeId,
                Count              = count,
                Bag                = bag,
                Slot               = slot,
                GemTypeId1         = gem1,
                GemTypeId2         = gem2,
                GemTypeId3         = gem3,
                GemTypeId4         = gem4,
                GemTypeId5         = gem5,
                GemTypeId6         = gem6,
                HasDyeColor        = hasColor,
                DyeColorAlpha      = alpha,
                DyeColorSaturation = saturation,
                DyeColorR          = r,
                DyeColorG          = g,
                DyeColorB          = b
            };

            database.CharacterItems.Add(dbItem);
            await database.SaveChangesAsync();
        }
Beispiel #4
0
        public Item(IDatabasePreloader databasePreloader, DbCharacterItems dbCharacterItem) : this(databasePreloader, dbCharacterItem.Type, dbCharacterItem.TypeId, dbCharacterItem.Count)
        {
            Bag     = dbCharacterItem.Bag;
            Slot    = dbCharacterItem.Slot;
            Quality = dbCharacterItem.Quality;

            CreationTime   = dbCharacterItem.CreationTime;
            ExpirationTime = dbCharacterItem.ExpirationTime;

            if (!string.IsNullOrWhiteSpace(dbCharacterItem.Craftname))
            {
                ParseCraftname(dbCharacterItem.Craftname);
            }

            if (dbCharacterItem.HasDyeColor)
            {
                DyeColor = new DyeColor(dbCharacterItem.DyeColorAlpha, dbCharacterItem.DyeColorSaturation, dbCharacterItem.DyeColorR, dbCharacterItem.DyeColorG, dbCharacterItem.DyeColorB);
            }

            if (dbCharacterItem.GemTypeId1 != 0)
            {
                Gem1 = new Gem(databasePreloader, dbCharacterItem.GemTypeId1, 0);
            }
            if (dbCharacterItem.GemTypeId2 != 0)
            {
                Gem2 = new Gem(databasePreloader, dbCharacterItem.GemTypeId2, 1);
            }
            if (dbCharacterItem.GemTypeId3 != 0)
            {
                Gem3 = new Gem(databasePreloader, dbCharacterItem.GemTypeId3, 2);
            }
            if (dbCharacterItem.GemTypeId4 != 0)
            {
                Gem4 = new Gem(databasePreloader, dbCharacterItem.GemTypeId4, 3);
            }
            if (dbCharacterItem.GemTypeId5 != 0)
            {
                Gem5 = new Gem(databasePreloader, dbCharacterItem.GemTypeId5, 4);
            }
            if (dbCharacterItem.GemTypeId6 != 0)
            {
                Gem6 = new Gem(databasePreloader, dbCharacterItem.GemTypeId6, 5);
            }
        }
Beispiel #5
0
        internal static async Task SaveItemInInventory(object[] args)
        {
            int  charId = (int)args[0];
            byte type   = (byte)args[1];
            byte typeId = (byte)args[2];
            byte count  = (byte)args[3];
            byte bag    = (byte)args[4];
            byte slot   = (byte)args[5];

            using var database = DependencyContainer.Instance.Resolve <IDatabase>();
            var dbItem = new DbCharacterItems()
            {
                CharacterId = charId,
                Type        = type,
                TypeId      = typeId,
                Count       = count,
                Bag         = bag,
                Slot        = slot,
            };

            database.CharacterItems.Add(dbItem);
            await database.SaveChangesAsync();
        }