示例#1
0
        public string Execute(string[] inputArgs)
        {
            string itemName = inputArgs[1];
            string heroName = inputArgs[2];

            var targetItem = LoadUtilities.LoadItemRepository().Get(itemName);
            var targetHero = LoadUtilities.LoadHeroRepository().Get(heroName);


            if (targetItem.GetType().FullName.Contains("Set"))
            {
                var itemFullName = targetItem.GetType().FullName;
                var typeHero     = targetHero.GetType().Name;

                if (!itemFullName.Contains(typeHero))
                {
                    return($"Not compatible Set with {typeHero}");
                }
                else
                {
                    targetHero.Inventory.AddItem(targetItem);
                    return($"Secsuful add Item: {itemName} to Hero: {heroName}");
                }
            }
            else
            {
                targetHero.Inventory.AddItem(targetItem);
                return($"Secsuful add Item: {itemName} to Hero: {heroName}");
            }
        }
示例#2
0
        public string Execute(string[] inputArgs)
        {
            string itemType = inputArgs[2];

            ItemFactory itemFactory = new ItemFactory();
            var         item        = itemFactory.Create(itemType);

            LoadUtilities.LoadItemRepository().Add(item);

            return($"Successful create new Item {itemType}");
        }
示例#3
0
        public string Execute(string[] inputArgs)
        {
            string heroType = inputArgs[2];
            string heroName = inputArgs[3];

            HeroFactory heroFactory = new HeroFactory();
            var         hero        = heroFactory.Create(heroType, heroName);

            LoadUtilities.LoadHeroRepository().Add(hero);

            return($"Successful create new Hero {heroType} - {heroName}");
        }
示例#4
0
        public string Execute(string[] inputArgs)
        {
            string monsterType = inputArgs[2];


            MonsterFactory monsterFactory = new MonsterFactory();
            var            monster        = monsterFactory.Create(monsterType);

            LoadUtilities.LoadMonsterRepository().Add(monster);

            return($"Successful create new Monster {monsterType}");
        }
示例#5
0
        public void Run()
        {
            LoadUtilities loadUtilities  = new LoadUtilities();
            string        typeCommandAdd = "Add{0}";

            string command = Console.ReadLine();

            while (command != "End")
            {
                var commandInfo = command.Split(" ", StringSplitOptions.RemoveEmptyEntries);

                try
                {
                    switch (commandInfo[0])
                    {
                    case "Add":
                        var currentCommand = string.Format(typeCommandAdd, commandInfo[1]);
                        var typeCommand    = Assembly.GetExecutingAssembly().GetTypes()
                                             .FirstOrDefault(x => x.Name.Contains(currentCommand));

                        var instance = Activator.CreateInstance(typeCommand);
                        var method   = typeCommand.GetMethod("Execute");

                        Console.WriteLine(method.Invoke(instance, new object[] { commandInfo }));
                        break;

                    case "AddItem":
                        AddItemToHero addItemToHero = new AddItemToHero();
                        Console.WriteLine(addItemToHero.Execute(commandInfo));
                        break;

                    case "Fight":
                        var          hero         = LoadUtilities.LoadHeroRepository().Get("Darkkk");
                        FightCommand fightCommand = new FightCommand();
                        fightCommand.Execute(commandInfo);
                        break;
                    }
                }
                catch (ArgumentNullException ex)
                {
                    Console.WriteLine(ex.Message);
                }

                command = Console.ReadLine();
            }
        }
示例#6
0
        public string Execute(string[] inputArgs)
        {
            var heroName    = inputArgs[1];
            var monsterName = inputArgs[2];

            var hero    = LoadUtilities.LoadHeroRepository().Get(heroName);
            var monster = LoadUtilities.LoadMonsterRepository().Get(monsterName);

            while (true)
            {
                //Fight

                break;
            }

            if (true)
            {
            }


            return($"Winer....");
        }