示例#1
0
        private void loadPlugins()
        {
            libraries        = GetAssembliesFromDirectory(Environment.LibrariesDirectory);
            pluginAssemblies = LoadAssembliesFromDirectory(Environment.PluginsDirectory);
            List <Type> pluginImplemenations = RocketHelper.GetTypesFromInterface(pluginAssemblies, "IRocketPlugin");

            foreach (Type pluginType in pluginImplemenations)
            {
                GameObject plugin = new GameObject(pluginType.Name, pluginType);
                DontDestroyOnLoad(plugin);
                plugins.Add(plugin);
            }
            OnPluginsLoaded.TryInvoke();
        }
        private void loadPlugins()
        {
            libraries = FindAssembliesInDirectory(Environment.LibrariesDirectory);
            foreach (KeyValuePair <AssemblyName, string> pair in FindAssembliesInDirectory(Environment.PluginsDirectory))
            {
                if (!libraries.ContainsKey(pair.Key))
                {
                    libraries.Add(pair.Key, pair.Value);
                }
            }

            pluginAssemblies = LoadAssembliesFromDirectory(Environment.PluginsDirectory);
            List <Type> pluginImplemenations = RocketHelper.GetTypesFromInterface(pluginAssemblies, "IRocketPlugin");

            foreach (Type pluginType in pluginImplemenations)
            {
                GameObject plugin = new GameObject(pluginType.Name, pluginType);
                DontDestroyOnLoad(plugin);
                plugins.Add(plugin);
            }
            OnPluginsLoaded.TryInvoke();
        }
示例#3
0
        internal void loadPlugins()
        {
            libraries = GetAssembliesFromDirectory(Environment.LibrariesDirectory);
            foreach (KeyValuePair <string, string> pair in GetAssembliesFromDirectory(Environment.PluginsDirectory))
            {
                if (!libraries.ContainsKey(pair.Key))
                {
                    libraries.Add(pair.Key, pair.Value);
                }
            }

            pluginAssemblies = LoadAssembliesFromDirectory(Environment.PluginsDirectory);
            List <Type> pluginImplemenations = RocketHelper.NewGetTypesFromInterface(pluginAssemblies, typeof(IRocketPlugin));

            foreach (Type pluginType in pluginImplemenations)
            {
                GameObject plugin = new GameObject(pluginType.Name, pluginType);
                UnityEngine.Object.DontDestroyOnLoad(plugin);
                plugins.Add(plugin);
            }
            OnPluginsLoaded.TryInvoke();
        }