Thank you kindly, Melanie for a patch for script reset

that creates the event handler chain ready to hook by script engines
This commit is contained in:
Charles Krinke
2008-05-26 16:16:48 +00:00
parent 30a9469757
commit ed717ec181
7 changed files with 37 additions and 0 deletions

View File

@@ -288,6 +288,8 @@ namespace OpenSim.Region.Environment.Modules.World.NPC
public event EstateBlueBoxMessageRequest OnEstateBlueBoxMessageRequest;
public event EstateDebugRegionRequest OnEstateDebugRegionRequest;
public event EstateTeleportOneUserHomeRequest OnEstateTeleportOneUserHomeRequest;
public event ScriptReset OnScriptReset;
#pragma warning restore 67
#endregion

View File

@@ -85,11 +85,13 @@ namespace OpenSim.Region.Environment.Scenes
public delegate void ObjectGrabDelegate(uint localID, LLVector3 offsetPos, IClientAPI remoteClient);
public delegate void ObjectDeGrabDelegate(uint localID, IClientAPI remoteClient);
public delegate void ScriptResetDelegate(uint localID, LLUUID itemID);
public delegate void OnPermissionErrorDelegate(LLUUID user, string reason);
public event ObjectGrabDelegate OnObjectGrab;
public event ObjectDeGrabDelegate OnObjectDeGrab;
public event ScriptResetDelegate OnScriptReset;
public event OnPermissionErrorDelegate OnPermissionError;
@@ -310,6 +312,7 @@ namespace OpenSim.Region.Environment.Scenes
private OnShutdownDelegate handlerShutdown = null; //OnShutdown;
private ObjectGrabDelegate handlerObjectGrab = null; //OnObjectGrab;
private ObjectDeGrabDelegate handlerObjectDeGrab = null; //OnObjectDeGrab;
private ScriptResetDelegate handlerScriptReset = null; // OnScriptReset
private NewRezScript handlerRezScript = null; //OnRezScript;
private RemoveScript handlerRemoveScript = null; //OnRemoveScript;
private SceneGroupMoved handlerSceneGroupMove = null; //OnSceneGroupMove;
@@ -484,6 +487,15 @@ namespace OpenSim.Region.Environment.Scenes
}
}
public void TriggerScriptReset(uint localID, LLUUID itemID)
{
handlerScriptReset = OnScriptReset;
if (handlerScriptReset != null)
{
handlerScriptReset(localID, itemID);
}
}
public void TriggerRezScript(uint localID, LLUUID itemID, string script)
{
handlerRezScript = OnRezScript;

View File

@@ -288,5 +288,14 @@ namespace OpenSim.Region.Environment.Scenes
}
client.SendAvatarPickerReply(agent_data, data_args);
}
public void ProcessScriptReset(IClientAPI remoteClient, LLUUID objectID,
LLUUID itemID)
{
SceneObjectPart part=GetSceneObjectPart(objectID);
if(part == null)
return;
EventManager.TriggerScriptReset(part.LocalId, itemID);
}
}
}

View File

@@ -1704,6 +1704,7 @@ namespace OpenSim.Region.Environment.Scenes
client.OnUndo += m_innerScene.HandleUndo;
client.OnObjectGroupRequest += m_innerScene.HandleObjectGroupUpdate;
client.OnParcelReturnObjectsRequest += LandChannel.ReturnObjectsInParcel;
client.OnScriptReset += ProcessScriptReset;
// EventManager.TriggerOnNewClient(client);
}