コード例 #1
0
        void AddKit(Player player, string[] args)
        {
            if (args.Length < 2)
            {
                SendMessage(player, InvalidArgs);
                return;
            }

            var kitname     = args[0];
            var description = args[1];

            KitData kit;

            if (FindKit(kitname, out kit))
            {
                SendMessage(player, AKitAlreadyExists, kitname);
                return;
            }

            kit = new KitData();
            var kitinfo = new KitInfo(args);

            kit.Name        = kitname;
            kit.Description = description;
            kit.Permission  = kitinfo.GetVariable("permission");
            kit.Cooldown    = Convert.ToInt32(kitinfo.GetVariable("cooldown"));
            kit.Uses        = Convert.ToInt32(kitinfo.GetVariable("uses"));
            kit.UsesReset   = Convert.ToInt32(kitinfo.GetVariable("reset"));
            kit.Stacks      = 0;

            SendMessage(player, AKitCreated, kitname);

            if (kitinfo.HasVariable("inventory"))
            {
                var inventory = player.CurrentCharacter.Entity.GetContainerOfType(CollectionTypes.Inventory);
                var itemCount = 0;
                foreach (var item in inventory.Contents.Where(item => item != null))
                {
                    itemCount++;
                    kit.Items.Add(new KitItem(item.Name, item.StackAmount));
                    kit.Stacks++;
                }
                SendMessage(player, AKitCreatedInvFlag, itemCount);
            }

            kitsdata.Add(kitname, kit);
            storedData.KitsData.Add(kit);
        }