Пример #1
0
        /// <summary>
        /// Adds / Updates a command to the command phone
        /// </summary>
        /// <param name="cmdTrig">The 'command' used to trigger this command. ex. /rules</param>
        /// <param name="cmd">The command class for this command.</param>
        public void UpdateCommand(string cmdTrig, Command cmd)
        {
            CommandSettings.SelectGroup(cmdTrig);

            CommandSettings.Write("Plugin", cmd.Plugin);
            CommandSettings.Write("Group", cmd.Group);
            CommandSettings.Write("Help", cmd.Help);
            CommandSettings.Write("Console", cmd.Console.ToString());
            CommandSettings.Write("AllPerms", cmd.AllPerms.ToString());
            CommandSettings.Write("UsePerms",
                PermissionContainer.PermissionsToString(cmd.UsePermissions));
            CommandSettings.Write("ShowPerms",
            PermissionContainer.PermissionsToString(cmd.ShowPermissions));

            CommandSettings.SaveFile();
        }
Пример #2
0
        /// <summary>
        /// Loads scripted commands, and command modifications from file.
        /// </summary>
        public void LoadCommands()
        {
            foreach (var id in CommandSettings.SettingsDictionary.Keys) {
                CommandSettings.SelectGroup(id);
                Command myCmd;

                if (!CommandDict.TryGetValue(id, out myCmd)) {
                    myCmd = new Command {
                        Plugin = CommandSettings.Read("Plugin", ""),
                        Group = CommandSettings.Read("Group", "General"),
                        Help = CommandSettings.Read("Help", ""),
                        Console = bool.Parse(CommandSettings.Read("Console", "false")),
                        AllPerms = bool.Parse(CommandSettings.Read("AllPerms", "false")),

                        UsePermissions = PermissionContainer.SplitPermissions(CommandSettings.Read("UsePerms",
                            "player.chat")),

                        ShowPermissions = PermissionContainer.SplitPermissions(CommandSettings.Read("ShowPerms",
                            "player.chat")),
                    };

                    AddCommand(id, myCmd);
                    continue;
                }

                myCmd.Plugin = CommandSettings.Read("Plugin", "");
                myCmd.Group = CommandSettings.Read("Group", "General");
                myCmd.Help = CommandSettings.Read("Help", "");
                myCmd.Console = bool.Parse(CommandSettings.Read("Console", "false"));
                myCmd.AllPerms = bool.Parse(CommandSettings.Read("AllPerms", "false"));
                myCmd.UsePermissions =
                    PermissionContainer.SplitPermissions(CommandSettings.Read("UsePerms",
                        "player.chat"));
                myCmd.ShowPermissions =
                    PermissionContainer.SplitPermissions(CommandSettings.Read("ShowPerms",
                        "player.chat"));

                CommandDict[id] = myCmd;
            }

            ServerCore.Logger.Log("Commands", "Commands Loaded", LogType.Info);
        }
Пример #3
0
        /// <summary>
        /// Function for command registration by lua scripts.
        /// </summary>
        /// <param name="command"></param>
        /// <param name="plugin"></param>
        /// <param name="group"></param>
        /// <param name="help"></param>
        /// <param name="showPermissions"></param>
        /// <param name="usePermissions"></param>
        /// <param name="allPerms"></param>
        /// <param name="console"></param>
        public void RegisterCommand(string command, string plugin, string group, string help, string showPermissions, string usePermissions, bool allPerms, bool console)
        {
            var newCommand = new Command {
                Plugin = plugin,
                Group = group,
                Help = help,
                AllPerms = allPerms,
                Console = console,

                UsePermissions = PermissionContainer.SplitPermissions(usePermissions),
                ShowPermissions = PermissionContainer.SplitPermissions(showPermissions),

            };

            if (!command.StartsWith("/"))
                command = "/" + command;

            AddCommand(command, newCommand);
            UpdateCommand(command, newCommand);
            RegisterGroups();
        }
Пример #4
0
        /// <summary>
        /// Function for internal command registration.
        /// </summary>
        /// <param name="name"></param>
        /// <param name="newCommand"></param>
        public void AddCommand(string name, Command newCommand)
        {
            Command myCmd;

            if (CommandDict.TryGetValue(name, out myCmd))
                CommandDict[name] = newCommand;
            else
                CommandDict.Add(name, newCommand);
        }