From 74dd38db70e88c5bf771774b6cc2ec80ab2ba215 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sat, 10 Nov 2012 16:24:15 -0800 Subject: One more module converted: AvatarFactoryModule. --- .../Avatar/AvatarFactory/AvatarFactoryModule.cs | 37 ++++++++++++++++++---- 1 file changed, 31 insertions(+), 6 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs index b5b0082..c3e4679 100644 --- a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs @@ -39,9 +39,12 @@ using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes; using OpenSim.Services.Interfaces; +using Mono.Addins; + namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory { - public class AvatarFactoryModule : IAvatarFactoryModule, IRegionModule + [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] + public class AvatarFactoryModule : IAvatarFactoryModule, INonSharedRegionModule { private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); @@ -61,10 +64,8 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory #region IRegionModule - public void Initialise(Scene scene, IConfigSource config) + public void Initialise(IConfigSource config) { - scene.RegisterModuleInterface(this); - scene.EventManager.OnNewClient += SubscribeToClientEvents; IConfig appearanceConfig = config.Configs["Appearance"]; if (appearanceConfig != null) @@ -74,11 +75,29 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory // m_log.InfoFormat("[AVFACTORY] configured for {0} save and {1} send",m_savetime,m_sendtime); } + } + + public void AddRegion(Scene scene) + { if (m_scene == null) - m_scene = scene; + m_scene = scene; + + scene.RegisterModuleInterface(this); + scene.EventManager.OnNewClient += SubscribeToClientEvents; } - public void PostInitialise() + public void RemoveRegion(Scene scene) + { + if (scene == m_scene) + { + scene.UnregisterModuleInterface(this); + scene.EventManager.OnNewClient -= SubscribeToClientEvents; + } + + m_scene = null; + } + + public void RegionLoaded(Scene scene) { m_updateTimer.Enabled = false; m_updateTimer.AutoReset = true; @@ -100,6 +119,12 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory get { return false; } } + public Type ReplaceableInterface + { + get { return null; } + } + + private void SubscribeToClientEvents(IClientAPI client) { client.OnRequestWearables += Client_OnRequestWearables; -- cgit v1.1