public override Weapon Create(Weapon.WeaponType weaponType, GameObject gameObject) { Item.Rarity rarity = GenerateRarity(); Item.Keywords keyword = GenerateKeyword(); Weapon weapon = gameObject.GetComponent <Weapon>(); switch (weaponType) { case Weapon.WeaponType.SWORD: weapon.Init(Weapon.WeaponType.SWORD, rarity, GenerateWeaponSprite(ItemSprites.swordSprites, rarity), rarity + " " + keyword + " Sword"); return(weapon); case Weapon.WeaponType.MACE: weapon.Init(Weapon.WeaponType.MACE, rarity, GenerateWeaponSprite(ItemSprites.maceSprites, rarity), rarity + " " + keyword + " Mace"); return(weapon); case Weapon.WeaponType.BOW: weapon.Init(Weapon.WeaponType.BOW, rarity, GenerateWeaponSprite(ItemSprites.bowSprites, rarity), rarity + " " + keyword + " Bow"); return(weapon); case Weapon.WeaponType.AXE: weapon.Init(Weapon.WeaponType.AXE, rarity, GenerateWeaponSprite(ItemSprites.axeSprites, rarity), rarity + " " + keyword + " Axe"); return(weapon); case Weapon.WeaponType.SPEAR: weapon.Init(Weapon.WeaponType.SPEAR, rarity, GenerateWeaponSprite(ItemSprites.spearSprites, rarity), rarity + " " + keyword + " Spear"); return(weapon); default: Debug.Log("Weapon Type not found"); break; } throw new System.NotImplementedException(); }
public override Item GetItem(Item.ItemType itemType, GameObject gameObject) { Item.Rarity rarity = GenerateRarity(); Item.Keywords keyword = GenerateKeyword(); Item item = gameObject.GetComponent <Item>(); StatFactory statFactory = new ConcreteStatFactory(); switch (itemType) { case Item.ItemType.ARMOR: item.Init(Item.ItemType.ARMOR, rarity, GenerateItemSprite(ItemSprites.armorSprites, rarity), rarity + " " + keyword + " Armor", statFactory.GenerateStatAmount(rarity)); return(item); case Item.ItemType.BOOTS: item.Init(Item.ItemType.BOOTS, rarity, GenerateItemSprite(ItemSprites.bootsSprites, rarity), rarity + " " + keyword + " Boots", statFactory.GenerateStatAmount(rarity)); return(item); case Item.ItemType.HELM: item.Init(Item.ItemType.HELM, rarity, GenerateItemSprite(ItemSprites.helmSprites, rarity), rarity + " " + keyword + " Helm", statFactory.GenerateStatAmount(rarity)); return(item); case Item.ItemType.BELT: item.Init(Item.ItemType.BELT, rarity, GenerateItemSprite(ItemSprites.beltsSprites, rarity), rarity + " " + keyword + " Belt", statFactory.GenerateStatAmount(rarity)); return(item); case Item.ItemType.ACCESSORY: item.Init(Item.ItemType.ACCESSORY, rarity, GenerateItemSprite(ItemSprites.accessorySprites, rarity), rarity + " " + keyword + " Accessory", statFactory.GenerateStatAmount(rarity)); return(item); case Item.ItemType.PANTS: item.Init(Item.ItemType.PANTS, rarity, GenerateItemSprite(ItemSprites.pantsSprites, rarity), rarity + " " + keyword + " Pants", statFactory.GenerateStatAmount(rarity)); return(item); case Item.ItemType.GLOVES: item.Init(Item.ItemType.GLOVES, rarity, GenerateItemSprite(ItemSprites.glovesSprites, rarity), rarity + " " + keyword + " Gloves", statFactory.GenerateStatAmount(rarity)); return(item); default: Debug.Log("Item Type not found"); break; } throw new System.NotImplementedException(); }