示例#1
0
        public static void InitAll()
        {
            all.commands.Clear();
            core.commands.Clear();
            all.AddOtherPerms = true;
            Type[] types = Assembly.GetExecutingAssembly().GetTypes();

            for (int i = 0; i < types.Length; i++)
            {
                Type type = types[i];
                if (!type.IsSubclassOf(typeof(Command)) || type.IsAbstract)
                {
                    continue;
                }
                Command cmd = (Command)Activator.CreateInstance(type);
                all.Add(cmd);

                CommandAlias[] aliases = cmd.Aliases;
                if (aliases == null)
                {
                    continue;
                }
                foreach (CommandAlias a in aliases)
                {
                    Alias alias = new Alias(a.Trigger, cmd.name, a.Prefix, a.Suffix);
                    Alias.coreAliases.Add(alias);
                }
            }
            core.commands = new List <Command>(all.commands);
            Scripting.Autoload();
        }