mirror of
https://github.com/opensim/opensim.git
synced 2026-08-09 02:36:00 +08:00
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:
@@ -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
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user