Exemple #1
0
    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();
    }