예제 #1
0
    public Item CreateItem(string[] args)
    {
        string typeOfItem = args[0];

        Item newlyCreatedItem = null;

        try
        {
            switch (typeOfItem)
            {
            case "ArmorRepairKit":
                newlyCreatedItem = new ArmorRepairKit();
                return(newlyCreatedItem);

            case "HealthPotion":
                newlyCreatedItem = new HealthPotion();
                return(newlyCreatedItem);

            case "PoisonPotion":
                newlyCreatedItem = new PoisonPotion();
                return(newlyCreatedItem);

            default: throw new ArgumentException($"Invalid item \"{typeOfItem}\"!");
            }
        }
        catch (InvalidOperationException oe) {
            throw new InvalidOperationException(oe.Message);
        }
    }
예제 #2
0
        public string AddItemToPool(string[] args)
        {
            var  itemName = args[0];
            Item item;

            switch (itemName)
            {
            case "HealthPotion":
                item = new HealthPotion();
                break;

            case "PoisonPotion":
                item = new PoisonPotion();
                break;

            case "ArmorRepairKit":
                item = new ArmorRepairKit();
                break;

            default:
                throw new ArgumentException($"Invalid item \"{itemName}\"");
            }

            itemPool.Push(item);

            return($"{itemName} added to pool!");
        }
예제 #3
0
    private void PoisonEffect()
    {
        PoisonPotion poison = Instantiate(Inventory.GetPotionPrefab(Potion.Type.poison), transform.position, Quaternion.identity).GetComponent <PoisonPotion>();

        poison.damage *= percentDamage;
        poison.SimulateCollision();
    }
예제 #4
0
        public Item CreateItem(string itemName)
        {
            if (itemName != "ArmorRepairKit" && itemName != "HealthPotion" && itemName != "PoisonPotion")
            {
                throw new ArgumentException(string.Format(ExceptionMessages.InvalidItemException, itemName));
            }

            Item item = null;

            if (itemName == "ArmorRepairKit")
            {
                item = new ArmorRepairKit();
            }
            else if (itemName == "HealthPotion")
            {
                item = new HealthPotion();
            }
            else if (itemName == "PoisonPotion")
            {
                item = new PoisonPotion();
            }
            else
            {
                throw new ArgumentException(string.Format(ExceptionMessages.InvalidItemException, itemName));
            }

            return(item);
        }
예제 #5
0
        public string AddItemToPool(string[] args)
        {
            string itemName = args[0];

            Item item;

            if (itemName == "ArmorRepairKit")
            {
                item = new ArmorRepairKit();
            }
            else if (itemName == "HealthPotion")
            {
                item = new HealthPotion();
            }
            else if (itemName == "PoisonPotion")
            {
                item = new PoisonPotion();
            }
            else
            {
                throw new ArgumentException("Invalid item \"{ name }\"!");
            }

            itemsPool.Push(item);
            return($"{itemName} added to pool.");
        }
예제 #6
0
        public Item CreateItem(string type)
        {
            Item item = null;

            if (type == "ArmorRepairKit")
            {
                item = new ArmorRepairKit();
                return(item);
            }

            else if (type == "HealthPotions")
            {
                item = new HealthPotion();
                return(item);
            }

            else if (type == "PosionPotion")
            {
                item = new PoisonPotion();
                return(item);
            }


            throw new ArgumentException(string.Format(ErrorMessages.InvalidItem, type));
        }
예제 #7
0
    public string AddItemToPool(string[] args)
    {
        if (args[0] != nameof(ArmorRepairKit) && args[0] != nameof(PoisonPotion) && args[0] != nameof(HealthPotion))
        {
            throw new ArgumentException($"Invalid item \"{args[0]}\"!");
        }

        Item temp = null;

        switch (args[0])
        {
        case nameof(ArmorRepairKit):
            temp = new ArmorRepairKit();
            break;

        case nameof(PoisonPotion):
            temp = new PoisonPotion();
            break;

        case nameof(HealthPotion):
            temp = new HealthPotion();
            break;
        }

        itemPool.Push(temp);
        return($"{args[0]} added to pool!");
    }
        public Item CreateItem(string itemName)
        {
            Item item;

            switch (itemName)
            {
            case "HealthPotion":
                item = new HealthPotion();
                break;

            case "PoisonPotion":
                item = new PoisonPotion();
                break;

            case "ArmorRepairKit":
                item = new ArmorRepairKit();
                break;

            default:
                throw new ArgumentException(string.Format(OutputMessages.IvalidItemType, itemName));
            }

            return(item);

            //Second way - reflection:
            //var type = this.GetType()
            //    .Assembly
            //    .GetTypes()
            //    .FirstOrDefault(x => x.Name == itemName);

            //if(type == null || itemName == "Item" || String.IsNullOrWhiteSpace(itemName))
            //{
            //    throw new ArgumentException(string.Format(OutputMessages.IvalidItemType, itemName));
            //}

            //try
            //{
            //    var item = (Item)Activator.CreateInstance(type, new object[] { });
            //    return item;
            //}
            //catch (Exception ex)
            //{
            //    throw new InvalidOperationException(ex.Message);
            //}
        }
예제 #9
0
        public Item CreateItem(string name)
        {
            Item item = null;

            switch (name)
            {
            case "HealthPotion": item = new HealthPotion(); break;

            case "PoisonPotion": item = new PoisonPotion(); break;

            case "ArmorRepairKit": item = new ArmorRepairKit(); break;

            default:
                throw new ArgumentException($"Invalid item \"{name}\"!");
            }

            return(item);
        }
예제 #10
0
        public Item CreateItem(string itemType)
        {
            Item item = null;

            switch (itemType)
            {
            case "HealthPotion":
                return(item = new HealthPotion());

            case "PoisonPotion":
                return(item = new PoisonPotion());

            case "ArmorRepairKit":
                return(item = new ArmorRepairKit());

            default:
                throw new ArgumentException(string.Format(OutputMessages.InvalidItemType), itemType);
            }
        }
예제 #11
0
    public Item ProduceItem(string itemType)
    {
        Item item = null;

        switch (itemType)
        {
        case "ArmorRepairKit":
            item = new ArmorRepairKit();
            break;

        case "HealthPotion":
            item = new HealthPotion();
            break;

        case "PoisonPotion":
            item = new PoisonPotion();
            break;
        }

        return(item);
    }
예제 #12
0
 public Item createItem(string name)
 {
     if (name == "HealthPotion")
     {
         HealthPotion healthPotion = new HealthPotion();
         return(healthPotion);
     }
     else if (name == "PoisonPotion")
     {
         PoisonPotion poisonPotion = new PoisonPotion();
         return(poisonPotion);
     }
     else if (name == "ArmorRepairKit")
     {
         ArmorRepairKit armorRepairKit = new ArmorRepairKit();
         return(armorRepairKit);
     }
     else
     {
         throw new ArgumentException($"Invalid item \"{name}\"!");
     }
 }
예제 #13
0
        public Item CreateItem(string itemName)
        {
            Item item;

            if (itemName == "HealthPotion")
            {
                item = new HealthPotion();
            }
            else if (itemName == "PoisonPotion")
            {
                item = new PoisonPotion();
            }
            else if (itemName == "ArmorRepairKit")
            {
                item = new ArmorRepairKit();
            }
            else
            {
                throw new ArgumentException($"Invalid item \"{itemName}\"!");
            }
            return(item);
        }
예제 #14
0
    public Item CreateItem(string itemName)
    {
        Item item = null;

        switch (itemName)
        {
        case "ArmorRepairKit":
            item = new ArmorRepairKit();
            break;

        case "HealthPotion":
            item = new HealthPotion();
            break;

        case "PoisonPotion":
            item = new PoisonPotion();
            break;

        default:
            throw new ArgumentException(string.Format(Messages.InvalidItemName, itemName));
        }
        return(item);
    }
예제 #15
0
    public Item CreateItem(string[] args)
    {
        string itemName = args[0];

        Item item = null;

        if (itemName == "ArmorRepairKit")
        {
            item = new ArmorRepairKit();
            return(item);
        }
        else if (itemName == "HealthPotion")
        {
            item = new HealthPotion();
            return(item);
        }
        else if (itemName == "PoisonPotion")
        {
            item = new PoisonPotion();
            return(item);
        }
        throw new ArgumentException($"Invalid item \"{ itemName }\"");
    }
예제 #16
0
        public Item CreateItem(string name)
        {
            Item currentItem = null;

            switch (name)
            {
            case "ArmorRepairKit":
                currentItem = new ArmorRepairKit();
                break;

            case "HealthPotion":
                currentItem = new HealthPotion();
                break;

            case "PoisonPotion":
                currentItem = new PoisonPotion();
                break;

            default:
                Error.InvalidItemType(name);
                break;
            }
            return(currentItem);
        }
예제 #17
0
        public Item CreateItem(string nameParam)
        {
            var name = nameParam;

            if (name != "HealthPotion" && name != "PoisonPotion" && name != "ArmorRepairKit")
            {
                throw new ArgumentException(/*string.Format(Inputs.InvalidItemType, name)*/ $"Invalid item \"{name}\"!");
            }
            if (name == "HealthPotion")
            {
                var healthPotion = new HealthPotion();
                return(healthPotion);
            }
            else if (name == "PoisonPotion")
            {
                var poisonPotion = new PoisonPotion();
                return(poisonPotion);
            }
            else
            {
                var armorRepairKit = new ArmorRepairKit();
                return(armorRepairKit);
            }
        }
예제 #18
0
    private void setItemOld()
    {
        var ret = new ItemBasis[12];
        ret[0] = new IronSword();
        (ret[0] as EquipmentItemBasis).init(2);
        ret[1] = new WoodArrow();
        ret[2] = new ConfusionPotion();
        ret[3] = new ParalyzePotion();
        ret[4] = new SleepPotion();
        ret[5] = new PoisonPotion();
        ret[6] = new AntiPoisonPotion();
        ret[7] = new DragonPotion();
        ret[8] = new FirePotion();
        ret[9] = new BullRush(5);
        ret[10] = new FireBall(5);
        ret[11] = new BombPot();
        Commodities.Add(new BronzeShield());
        Commodities.AddRange(ret);
        Commodities.Add(new WoodFlooring());
        Commodities.Add(new WoodPillar());
        Commodities.Add(new WoodWall());
        Commodities.Add(new MiddleBread());
        Commodities.Add(new HealPotion2());
        Commodities.Add(new Water());
        Commodities.Add(new WarpPotion());
        Commodities.Add(new STRUpPotion());
        Commodities.Add(new HPUpPotion());
        Commodities.Add(new HungerUpPotion());
        Commodities.Add(new HungerDownPotion());
        Commodities.Add(new SpeedUpPotion());
        Commodities.Add(new LevelDownPotion2());
        Commodities.Add(new LevelUpPotion2());
        Commodities.Add(new HealPotion3());
        Commodities.Add(new PerceptionPotion());
        Commodities.Add(new BlindPotion());
        //
        Commodities.Add(new LargeBread());
        Commodities.Add(new VeryLargeBread());
        //
        Commodities.Add(new AppraiseBook());
        Commodities.Add(new BakeryBook());
        Commodities.Add(new ConfusionBook());
        Commodities.Add(new CoatBook());
        Commodities.Add(new DontMoveBook());
        Commodities.Add(new EnemeyGatherBook());
        Commodities.Add(new EscapeBook());
        Commodities.Add(new ExorcismBook());
        Commodities.Add(new HawkEyeBook());
        Commodities.Add(new ItemGatherBook());
        Commodities.Add(new NoTitleBook());
        Commodities.Add(new PotExpantionBook());
        Commodities.Add(new PotHardeningBook());
        Commodities.Add(new Inazuma());
        Commodities.Add(new RockFallBook());
        Commodities.Add(new WeaponEnchantmentBook());
        Commodities.Add(new ShieldEnchantmentBook());
        Commodities.Add(new SleepBook());
        Commodities.Add(new TrapDestroyBook());
        Commodities.Add(new TrapMakeBook());
        Commodities.Add(new Suidashi());
        //
        Commodities.Add(new DecoyCane());
        Commodities.Add(new SealedCane());
        Commodities.Add(new AtkDownCane());
        Commodities.Add(new DefDownCane());
        Commodities.Add(new BombCane());
        Commodities.Add(new HealCane());
        Commodities.Add(new ExciteCane());
        Commodities.Add(new LevelUpCana());
        Commodities.Add(new LevelDownCane());
        Commodities.Add(new MissedSwingCana());
        Commodities.Add(new PalliativeCane());
        Commodities.Add(new ParalyzeCane());
        Commodities.Add(new PullOnCane());
        Commodities.Add(new SnatchCane());
        Commodities.Add(new SpeedUpCane());
        Commodities.Add(new SpeedDownCane());
        Commodities.Add(new SwapHpCane());
        Commodities.Add(new SwapPositionCane());
        Commodities.Add(new TenFeetStick());
        //
        Commodities.Add(new AppraisePot());
        Commodities.Add(new CompositionPot());
        Commodities.Add(new CursingPot());
        Commodities.Add(new EnhancedPot());
        Commodities.Add(new WeakenedPot());
        Commodities.Add(new ExoricismPot());
        Commodities.Add(new HealPot());
        Commodities.Add(new ItemChangePot());
        Commodities.Add(new MaterialPot());
        Commodities.Add(new SoldPot());
        Commodities.Add(new VanilaPot());
        Commodities.Add(new VoidPot());
        Commodities.Add(new WarehousePot());
        //
        Commodities.Add(new IronArrow());
        Commodities.Add(new SilverArrow());
        Commodities.Add(new PoisonArrow());
        Commodities.Add(new SagittariusArrow());

        //
        Commodities.Add(new TestBangle());
        Commodities.Add(new AntiPoisonBangle());
        Commodities.Add(new AntiParalyzeBangle());
        Commodities.Add(new AntiSleepBangle());
        Commodities.Add(new AntiConfusionBangle());
        Commodities.Add(new LongCastBangle());
        Commodities.Add(new STRUpBangle());
        Commodities.Add(new HealBangle());
        Commodities.Add(new AutoWarpBangle());
        Commodities.Add(new ExorcismBangle());
        Commodities.Add(new AutoExpGainBangle());
        Commodities.Add(new BombBangle());
        Commodities.Add(new ItemClairvoyanceBangle());
        Commodities.Add(new EnemyClairvoyanceBangle());
        Commodities.Add(new HawkEyeBangle());
        Commodities.Add(new AutoAppraiseBangle());
        Commodities.Add(new WallWalkBangle());
        Commodities.Add(new SneakWalkBangle());
        Commodities.Add(new CriticalBangle());
        Commodities.Add(new PainBlowBangle());
        ////
        Commodities.Add(new IronSield());
        Commodities.Add(new TowerShield());
        Commodities.Add(new TurtleShield());
        Commodities.Add(new AegisShield());
        Commodities.Add(new DragonSteelShield());
        Commodities.Add(new PotLidShield());
        Commodities.Add(new OldShield());
        Commodities.Add(new MagicReflectionShield());

        Commodities.FindAll(item => !item.IsInitalized).ForEach(item => item.init());
    }