Added IRegionCreator interface that all ApplicationPlugins that are creators of Scenes should implement and register with the ApplicationRegistry.StackModuleInterface<>(); So that other plugins can attach to their OnNewRegionCreated event.

Made some changes to IRegistryCore and RegistryCore so they support "Stacked" interfaces.
This commit is contained in:
MW
2009-02-26 22:51:52 +00:00
parent 7f727bd33e
commit 756c517069
6 changed files with 34 additions and 5 deletions

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace OpenSim.Framework
{
public delegate void NewRegionCreated(IScene scene);
public interface IRegionCreator
{
event NewRegionCreated OnNewRegionCreated;
}
}

View File

@@ -4,10 +4,13 @@ using System.Text;
namespace OpenSim.Framework
{
public interface IRegistryCore
public interface IRegistryCore
{
T Get<T>();
void RegisterInterface<T>(T iface);
bool TryGet<T>(out T iface);
void StackModuleInterface<M>(M mod);
T[] RequestModuleInterfaces<T>();
}
}

View File

@@ -40,5 +40,15 @@ namespace OpenSim.Framework
return (T)m_moduleInterfaces[typeof(T)];
}
public void StackModuleInterface<M>(M mod)
{
}
public T[] RequestModuleInterfaces<T>()
{
return new T[] { default(T) };
}
}
}