Ejemplo n.º 1
0
        public override async Task ProcessAsync(IMessageChat broadcaster, ICommand cmd)
        {
            if (!await this.game.ProcessAsync(Settings.UNITY_SERVER_PORT))
            {
                broadcaster.Broadcast(cmd.Sender.Username, Localization.GAME_NOT_STARTED);
                return;
            }

            var query  = cmd.Arguments?.Trim();
            var player = playerProvider.Get(cmd.Sender);
            await game.CraftAsync(player, query);
        }
Ejemplo n.º 2
0
        public override async Task ProcessAsync(IMessageBroadcaster broadcaster, ICommand cmd)
        {
            if (!await this.game.ProcessAsync(Settings.UNITY_SERVER_PORT))
            {
                broadcaster.Send(cmd.Sender.Username,
                                 //broadcaster.Broadcast(
                                 Localization.GAME_NOT_STARTED);
                return;
            }

            var query = cmd.Arguments?.Trim();
            //var categories = Enum.GetNames(typeof(CraftableCategory));
            ////var types = Enum.GetNames(typeof(ItemType));
            //if (string.IsNullOrEmpty(query))
            //{
            //    //broadcaster.Broadcast(
            //    broadcaster.Send(cmd.Sender.Username,
            //        $"You must specify an item or category to craft. Currently supported item categories: {string.Join(", ", categories)}");
            //    return;
            //}

            var player = playerProvider.Get(cmd.Sender);
            await game.CraftAsync(player, query);

            // !craft weapon
            // !craft amulet
            // !craft helm
            // !craft chest

            //var types = categoryAndType.Split(" ");

            //if (categories.Any(x => x.Equals(categoryAndType, StringComparison.InvariantCultureIgnoreCase))
            //    /*types.Any(x => x.Equals(categoryAndType, StringComparison.InvariantCultureIgnoreCase))*/)
            //{
            //    var player = playerProvider.Get(cmd.Sender);
            //    if (Enum.TryParse(typeof(CraftableCategory), categoryAndType, true, out var item))
            //    {
            //        var category = ItemCategory.Weapon;
            //        switch ((CraftableCategory)item)
            //        {
            //            case CraftableCategory.Weapon:
            //                category = ItemCategory.Weapon;
            //                break;

            //            case CraftableCategory.Armor:
            //            case CraftableCategory.Helm:
            //            case CraftableCategory.Chest:
            //            case CraftableCategory.Gloves:
            //            case CraftableCategory.Leggings:
            //            case CraftableCategory.Boots:
            //                category = ItemCategory.Armor;
            //                break;

            //            case CraftableCategory.Ring:
            //                category = ItemCategory.Ring;
            //                break;

            //            case CraftableCategory.Amulet:
            //                category = ItemCategory.Amulet;
            //                break;
            //        }

            //        await game.CraftAsync(player, category.ToString(), categoryAndType);
            //        return;
            //    }
            //    else if (Enum.TryParse(typeof(ItemCategory), categoryAndType, true, out var weapon))
            //    {
            //        await game.CraftAsync(player, categoryAndType, "");
            //        return;
            //    }
            //}
        }