Example #1
0
        public CustomNPCPlugin(Main game)
            : base(game)
        {
            eventManager      = new EventManager();
            UsingSEConomy     = File.Exists(Path.Combine("ServerPlugins", "Wolfje.Plugins.SEconomy.dll"));
            definitionManager = new DefinitionManager();

#if USE_APPDOMAIN
            pluginDomain = CreateNewPluginDomain();
#endif
            ////pluginDomain.AssemblyResolve += PluginDomain_OnAssemblyResolve;

/*
 *          foreach (AssemblyName asm in Assembly.GetExecutingAssembly().GetReferencedAssemblies())
 *          {
 *              pluginDomain.Load(asm);
 *          }
 *
 *          pluginDomain.Load(Assembly.GetExecutingAssembly().GetName());
 */

#if USE_APPDOMAIN
            pluginManager = pluginDomain.CreateInstanceAndUnwrap <PluginManager <NPCPlugin> >(eventManager, definitionManager);
#else
            pluginManager = new PluginManager <NPCPlugin>(eventManager, definitionManager);
#endif
        }
Example #2
0
        /// <summary>
        /// This is called once the CustomNPCDefinitions have been loaded into the DefinitionManager.
        /// </summary>
        /// <param name="definitions"></param>
        internal void LoadFrom(DefinitionManager definitions)
        {
            foreach (var pair in definitions.Definitions)
            {
                string id = pair.Key;
                CustomNPCDefinition definition = pair.Value;

                CustomNPCs.Add(id, definition);
                foreach (var spawning in definition.customNPCSpawning)
                {
                    if (spawning.spawnBiome != BiomeTypes.None)
                    {
                        AddCustomNPCToBiome(spawning.spawnBiome, id, spawning);
                    }

                    if (!string.IsNullOrEmpty(spawning.spawnRegion))
                    {
                        AddCustomNPCToRegion(spawning.spawnRegion, id, spawning);
                    }
                }
            }
        }
Example #3
0
 internal static void LoadFrom(DefinitionManager definitions)
 {
     Data.LoadFrom(definitions);
 }