Exemple #1
0
 // 新たに生成する時:originがスクリプタブル:コンストラクタ
 public Item(Item origin)
 {
     this.kindOfItem  = origin.kindOfItem;
     this.itemName    = origin.itemName;
     this.information = origin.information;
     this.price       = origin.price;
 }
Exemple #2
0
 public Item(
     KindOfItem newKindOfItem,
     KindOfWeapon newKindOfWeapon,
     string newName = "Common weapon")
 {
     this.name         = newName;
     this.kindOfWeapon = newKindOfWeapon;
     this.kindOfItem   = newKindOfItem;
     this.itemLevel    = 1;
     if (kindOfWeapon.Equals(KindOfWeapon.Axe) && kindOfItem.Equals(KindOfItem.Weapon))
     {
         this.itemValue = 60;
     }
     else if (kindOfWeapon.Equals(KindOfWeapon.Sword) && kindOfItem.Equals(KindOfItem.Weapon))
     {
         this.itemValue = 50;
     }
     else if (kindOfWeapon.Equals(KindOfWeapon.Hammer) && kindOfItem.Equals(KindOfItem.Weapon))
     {
         this.itemValue = 55;
     }
     else if (kindOfWeapon.Equals(KindOfWeapon.Bow) && kindOfItem.Equals(KindOfItem.Weapon))
     {
         this.itemValue = 56;
     }
     else if (kindOfWeapon.Equals(KindOfWeapon.Daggers) && kindOfItem.Equals(KindOfItem.Weapon))
     {
         this.itemValue = 52;
     }
     else if (kindOfWeapon.Equals(KindOfWeapon.FistWeapon) && kindOfItem.Equals(KindOfItem.Weapon))
     {
         this.itemValue = 54;
     }
     else if (kindOfWeapon.Equals(KindOfWeapon.Polearm) && kindOfItem.Equals(KindOfItem.Weapon))
     {
         this.itemValue = 58;
     }
     else if (kindOfWeapon.Equals(KindOfWeapon.Staff) && kindOfItem.Equals(KindOfItem.Weapon))
     {
         this.itemValue = 56;
     }
     else if (kindOfWeapon.Equals(KindOfWeapon.TwinBlades) && kindOfItem.Equals(KindOfItem.Weapon))
     {
         this.itemValue = 19;
     }
 }
Exemple #3
0
 public Item(
     KindOfItem newKindOfItem,
     KindOfPotion newKindOfPotion
     )
 {
     this.kindOfItem   = newKindOfItem;
     this.kindOfPotion = newKindOfPotion;
     if (kindOfPotion.Equals(KindOfPotion.Health))
     {
         this.itemValue = 100;
         this.name      = "Health potion";
         //this.power++;
     }
     else if (kindOfPotion.Equals(KindOfPotion.Mana))
     {
         this.itemValue = 150;
         this.name      = "Mana potion";
         //this.power++;
     }
 }
        public async Task <List <T> > GetItemsByKindAsync <T>(string token, KindOfItem kindOfItem) where T : IItem
        {
            httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
            string kind     = kindOfItem.ToString().ToCamelCase();
            int    maxLimit = 100;

            var response = await httpClient.GetAsync($"item/{kind}?limit={maxLimit}");

            response.EnsureSuccessStatusCode();

            string json = await response.Content.ReadAsStringAsync();

            // Deserialize the response payload
            var serializerOptions = new JsonSerializerOptions();

            serializerOptions.PropertyNameCaseInsensitive = true;
            serializerOptions.Converters.Add(new JsonStringEnumConverter());

            var itemResponse = JsonSerializer.Deserialize <GetItemsByKindResponse <T> >(json, serializerOptions);
            var items        = itemResponse.Items;

            // Safety precaution. Currently (15/12/2020) there is not more than 500 items of one kind,
            // so we should never exceed 5 requests
            var requests = 1;

            while (items.Count() < itemResponse.Total || requests >= 5)
            {
                response = await httpClient.GetAsync($"item/{kind}?limit={maxLimit}&offset={items.Count()}");

                response.EnsureSuccessStatusCode();

                json = await response.Content.ReadAsStringAsync();

                itemResponse = JsonSerializer.Deserialize <GetItemsByKindResponse <T> >(json, serializerOptions);

                items.AddRange(itemResponse.Items);
                requests++;
            }

            return(items);
        }
Exemple #5
0
 public Item(
     KindOfItem newKindOfItem,
     KindOfArmory newKindOfArmory,
     Classes newItemClass)
 {
     this.itemClass    = newItemClass;
     this.kindOfItem   = newKindOfItem;
     this.kindOfArmory = newKindOfArmory;
     this.itemLevel    = 1;
     if (itemClass.CharacterClass.Equals(new Classes(Classes.Class.Warrior).CharacterClass) ||
         itemClass.CharacterClass.Equals(new Classes(Classes.Class.Paladin).CharacterClass) ||
         itemClass.CharacterClass.Equals(new Classes(Classes.Class.DeathKnight).CharacterClass))
     {
         this.armorMaterial = ArmorMaterial.Plate;
         this.itemValue     = 200;
     }
     else if (itemClass.CharacterClass.Equals(new Classes(Classes.Class.Hunter).CharacterClass) ||
              itemClass.CharacterClass.Equals(new Classes(Classes.Class.Druid).CharacterClass) ||
              itemClass.CharacterClass.Equals(new Classes(Classes.Class.Shaman).CharacterClass))
     {
         this.armorMaterial = ArmorMaterial.Mail;
         this.itemValue     = 80;
     }
     else if (itemClass.CharacterClass.Equals(new Classes(Classes.Class.Monk).CharacterClass) ||
              itemClass.CharacterClass.Equals(new Classes(Classes.Class.DemonHunter).CharacterClass) ||
              itemClass.CharacterClass.Equals(new Classes(Classes.Class.Rouge).CharacterClass))
     {
         this.armorMaterial = ArmorMaterial.Leather;
         this.itemValue     = 60;
     }
     else if (itemClass.CharacterClass.Equals(new Classes(Classes.Class.Mage).CharacterClass) ||
              itemClass.CharacterClass.Equals(new Classes(Classes.Class.Warlock).CharacterClass) ||
              itemClass.CharacterClass.Equals(new Classes(Classes.Class.Priest).CharacterClass))
     {
         this.armorMaterial = ArmorMaterial.Cloth;
         this.itemValue     = 40;
     }
 }
Exemple #6
0
 public static string Kind(KindOfItem kind, string name = null, string caliber = null) => $"{ItemsControllerUrl}/kind/{kind}?name={name}&caliber={caliber}";
        public IActionResult Kind(KindOfItem kind, string name = null, string caliber = null)
        {
            switch (kind)
            {
                #region Kinds

            case KindOfItem.Ammunition:
                var ammunitions = new List <Ammunition>();
                if (caliber.IsNotNullOrEmpty())
                {
                    ammunitions = _itemService.GetAmmunitionByCaliber(caliber, name);
                }
                else
                {
                    ammunitions = _itemService.GetItemsByKindAndName <Ammunition>(name);
                }
                return(Ok(ammunitions));

            case KindOfItem.Armor:
                var armors = _itemService.GetItemsByKindAndName <Armor>(name);
                return(Ok(armors));

            case KindOfItem.Backpack:
                var backpacks = _itemService.GetItemsByKindAndName <Backpack>(name);
                return(Ok(backpacks));

            case KindOfItem.Barter:
                var barters = _itemService.GetItemsByKindAndName <Barter>(name);
                return(Ok(barters));

            case KindOfItem.Clothing:
                var clothings = _itemService.GetItemsByKindAndName <Clothing>(name);
                return(Ok(clothings));

            case KindOfItem.Common:
                var commons = _itemService.GetItemsByKindAndName <Common>(name);
                return(Ok(commons));

            case KindOfItem.Container:
                var containers = _itemService.GetItemsByKindAndName <Container>(name);
                return(Ok(containers));

            case KindOfItem.Firearm:
                var firearms = _itemService.GetItemsByKindAndName <Firearm>(name);
                return(Ok(firearms));

            case KindOfItem.Food:
                var foods = _itemService.GetItemsByKindAndName <Food>(name);
                return(Ok(foods));

            case KindOfItem.Grenade:
                var grenades = _itemService.GetItemsByKindAndName <Grenade>(name);
                return(Ok(grenades));

            case KindOfItem.Headphone:
                var headphones = _itemService.GetItemsByKindAndName <Headphone>(name);
                return(Ok(headphones));

            case KindOfItem.Key:
                var keys = _itemService.GetItemsByKindAndName <Key>(name);
                return(Ok(keys));

            case KindOfItem.Magazine:
                var magazines = _itemService.GetItemsByKindAndName <Magazine>(name);
                return(Ok(magazines));

            case KindOfItem.Map:
                var maps = _itemService.GetItemsByKindAndName <Map>(name);
                return(Ok(maps));

            case KindOfItem.Medical:
                var medicals = _itemService.GetItemsByKindAndName <Medical>(name);
                return(Ok(medicals));

            case KindOfItem.Melee:
                var melees = _itemService.GetItemsByKindAndName <Melee>(name);
                return(Ok(melees));

            case KindOfItem.Modification:
                var modifications = _itemService.GetItemsByKindAndName <Modification>(name);
                return(Ok(modifications));

            case KindOfItem.ModificationBarrel:
                var barrels = _itemService.GetItemsByKindAndName <ModificationBarrel>(name);
                return(Ok(barrels));

            case KindOfItem.ModificationBipod:
                var bipods = _itemService.GetItemsByKindAndName <ModificationBipod>(name);
                return(Ok(bipods));

            case KindOfItem.ModificationCharge:
                var charges = _itemService.GetItemsByKindAndName <ModificationCharge>(name);
                return(Ok(charges));

            case KindOfItem.ModificationDevice:
                var devices = _itemService.GetItemsByKindAndName <ModificationDevice>(name);
                return(Ok(devices));

            case KindOfItem.ModificationForegrip:
                var foregrips = _itemService.GetItemsByKindAndName <ModificationForegrip>(name);
                return(Ok(foregrips));

            case KindOfItem.ModificationGasblock:
                var gasblocks = _itemService.GetItemsByKindAndName <ModificationGasblock>(name);
                return(Ok(gasblocks));

            case KindOfItem.ModificationGoggles:
                var goggles = _itemService.GetItemsByKindAndName <ModificationGoggles>(name);
                return(Ok(goggles));

            case KindOfItem.ModificationHandguard:
                var handguards = _itemService.GetItemsByKindAndName <ModificationHandguard>(name);
                return(Ok(handguards));

            case KindOfItem.ModificationLauncher:
                var launchers = _itemService.GetItemsByKindAndName <ModificationLauncher>(name);
                return(Ok(launchers));

            case KindOfItem.ModificationMount:
                var mounts = _itemService.GetItemsByKindAndName <ModificationMount>(name);
                return(Ok(mounts));

            case KindOfItem.ModificationMuzzle:
                var muzzles = _itemService.GetItemsByKindAndName <ModificationMuzzle>(name);
                return(Ok(muzzles));

            case KindOfItem.ModificationPistolgrip:
                var pistolgrips = _itemService.GetItemsByKindAndName <ModificationPistolgrip>(name);
                return(Ok(pistolgrips));

            case KindOfItem.ModificationReceiver:
                var receivers = _itemService.GetItemsByKindAndName <ModificationReceiver>(name);
                return(Ok(receivers));

            case KindOfItem.ModificationSight:
                var sights = _itemService.GetItemsByKindAndName <ModificationSight>(name);
                return(Ok(sights));

            case KindOfItem.ModificationSightSpecial:
                var specials = _itemService.GetItemsByKindAndName <ModificationSightSpecial>(name);
                return(Ok(specials));

            case KindOfItem.ModificationStock:
                var stocks = _itemService.GetItemsByKindAndName <ModificationStock>(name);
                return(Ok(stocks));

            case KindOfItem.Money:
                var moneys = _itemService.GetItemsByKindAndName <Money>(name);
                return(Ok(moneys));

            case KindOfItem.Tacticalrig:
                var tacticalrigs = _itemService.GetItemsByKindAndName <Tacticalrig>(name);
                return(Ok(tacticalrigs));

            default:
                return(NoContent());

                #endregion
            }
        }