コード例 #1
0
        public static void Register(Command cmd)
        {
            allCmds.Add(cmd);

            CommandPerms perms = CommandPerms.GetOrAdd(cmd.name, cmd.defaultRank);

            foreach (Group grp in Group.GroupList)
            {
                if (perms.UsableBy(grp.Permission))
                {
                    grp.Commands.Add(cmd);
                }
            }

            CommandPerm[] extra = cmd.ExtraPerms;
            if (extra != null)
            {
                for (int i = 0; i < extra.Length; i++)
                {
                    CommandExtraPerms exPerms = CommandExtraPerms.GetOrAdd(cmd.name, i + 1, extra[i].Perm);
                    exPerms.Desc = extra[i].Description;
                }
            }
            Alias.RegisterDefaults(cmd);
        }