Added code to also propagate ScriptColliding and ScriptCollidingEnd events.
parent
90abbe26d3
commit
d28c857232
|
@ -263,7 +263,7 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
||||||
case EventManager.EventNames.ChatBroadcast:
|
case EventManager.EventNames.ChatBroadcast:
|
||||||
if (evArgs.Length < 2)
|
if (evArgs.Length < 2)
|
||||||
{
|
{
|
||||||
m_log.Error(LogHeader + " not enough event args for ChatFromWorld");
|
m_log.Error(LogHeader + " not enough event args for ChatEvents");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//OnLocalChatBroadcast(evArgs[0], (OSChatMessage)evArgs[1]);
|
//OnLocalChatBroadcast(evArgs[0], (OSChatMessage)evArgs[1]);
|
||||||
|
@ -285,8 +285,25 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
||||||
OnLocalPhysicsCollision((UUID)evArgs[0], (OSDArray)evArgs[1]);
|
OnLocalPhysicsCollision((UUID)evArgs[0], (OSDArray)evArgs[1]);
|
||||||
return;
|
return;
|
||||||
case EventManager.EventNames.ScriptCollidingStart:
|
case EventManager.EventNames.ScriptCollidingStart:
|
||||||
|
case EventManager.EventNames.ScriptColliding:
|
||||||
|
case EventManager.EventNames.ScriptCollidingEnd:
|
||||||
|
if (evArgs.Length < 2)
|
||||||
|
{
|
||||||
|
m_log.Error(LogHeader + " not enough event args for ScriptCollidingEvents");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
OnLocalScriptCollidingEvents(ev, (uint)evArgs[0], (ColliderArgs)evArgs[1]);
|
||||||
|
return;
|
||||||
|
/*
|
||||||
OnLocalScriptCollidingStart((uint)evArgs[0], (ColliderArgs)evArgs[1]);
|
OnLocalScriptCollidingStart((uint)evArgs[0], (ColliderArgs)evArgs[1]);
|
||||||
return;
|
return;
|
||||||
|
case EventManager.EventNames.ScriptColliding:
|
||||||
|
OnLocalScriptColliding((uint)evArgs[0], (ColliderArgs)evArgs[1]);
|
||||||
|
return;
|
||||||
|
case EventManager.EventNames.ScriptCollidingEnd:
|
||||||
|
OnLocalScriptCollidingEnd((uint)evArgs[0], (ColliderArgs)evArgs[1]);
|
||||||
|
return;
|
||||||
|
* */
|
||||||
default:
|
default:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -740,9 +757,9 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
||||||
|
|
||||||
foreach (SyncConnector connector in syncConnectors)
|
foreach (SyncConnector connector in syncConnectors)
|
||||||
{
|
{
|
||||||
//special fix for demo, need better optimization later
|
//special fix for R@I demo, need better optimization later
|
||||||
if ((rsm.Type == SymmetricSyncMessage.MsgType.PhysicsCollision || rsm.Type == SymmetricSyncMessage.MsgType.ScriptCollidingStart
|
if ((rsm.Type == SymmetricSyncMessage.MsgType.PhysicsCollision || rsm.Type == SymmetricSyncMessage.MsgType.ScriptCollidingStart
|
||||||
|| rsm.Type == SymmetricSyncMessage.MsgType.ScriptCollidingEnd)
|
|| rsm.Type == SymmetricSyncMessage.MsgType.ScriptColliding || rsm.Type == SymmetricSyncMessage.MsgType.ScriptCollidingEnd)
|
||||||
&& m_isSyncRelay)
|
&& m_isSyncRelay)
|
||||||
{
|
{
|
||||||
//for persistence actor, only forward collision events to script engines
|
//for persistence actor, only forward collision events to script engines
|
||||||
|
@ -1449,7 +1466,8 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
||||||
data["seqNum"] = OSD.FromULong(evSeq);
|
data["seqNum"] = OSD.FromULong(evSeq);
|
||||||
SymmetricSyncMessage rsm = new SymmetricSyncMessage(SymmetricSyncMessage.MsgType.ScriptCollidingStart, OSDParser.SerializeJsonString(data));
|
SymmetricSyncMessage rsm = new SymmetricSyncMessage(SymmetricSyncMessage.MsgType.ScriptCollidingStart, OSDParser.SerializeJsonString(data));
|
||||||
|
|
||||||
HandleRemoteEvent_ScriptCollidingStart(m_actorID, evSeq, data, DateTime.Now.Ticks);
|
//HandleRemoteEvent_ScriptCollidingStart(m_actorID, evSeq, data, DateTime.Now.Ticks);
|
||||||
|
HandleRemoteEvent_ScriptCollidingEvents(SymmetricSyncMessage.MsgType.ScriptCollidingStart, m_actorID, evSeq, data, DateTime.Now.Ticks);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1748,6 +1766,8 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
||||||
case SymmetricSyncMessage.MsgType.Attach:
|
case SymmetricSyncMessage.MsgType.Attach:
|
||||||
case SymmetricSyncMessage.MsgType.PhysicsCollision:
|
case SymmetricSyncMessage.MsgType.PhysicsCollision:
|
||||||
case SymmetricSyncMessage.MsgType.ScriptCollidingStart:
|
case SymmetricSyncMessage.MsgType.ScriptCollidingStart:
|
||||||
|
case SymmetricSyncMessage.MsgType.ScriptColliding:
|
||||||
|
case SymmetricSyncMessage.MsgType.ScriptCollidingEnd:
|
||||||
{
|
{
|
||||||
HandleRemoteEvent(msg, senderActorID);
|
HandleRemoteEvent(msg, senderActorID);
|
||||||
return;
|
return;
|
||||||
|
@ -2204,7 +2224,10 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
||||||
HandleRemoteEvent_PhysicsCollision(init_actorID, evSeqNum, data);
|
HandleRemoteEvent_PhysicsCollision(init_actorID, evSeqNum, data);
|
||||||
break;
|
break;
|
||||||
case SymmetricSyncMessage.MsgType.ScriptCollidingStart:
|
case SymmetricSyncMessage.MsgType.ScriptCollidingStart:
|
||||||
HandleRemoteEvent_ScriptCollidingStart(init_actorID, evSeqNum, data, DateTime.Now.Ticks);
|
case SymmetricSyncMessage.MsgType.ScriptColliding:
|
||||||
|
case SymmetricSyncMessage.MsgType.ScriptCollidingEnd:
|
||||||
|
//HandleRemoteEvent_ScriptCollidingStart(init_actorID, evSeqNum, data, DateTime.Now.Ticks);
|
||||||
|
HandleRemoteEvent_ScriptCollidingEvents(msg.Type, init_actorID, evSeqNum, data, DateTime.Now.Ticks);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2453,7 +2476,8 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
||||||
m_scene.EventManager.TriggerOnAttachLocally(localID, itemID, avatarID);
|
m_scene.EventManager.TriggerOnAttachLocally(localID, itemID, avatarID);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void HandleRemoteEvent_ScriptCollidingStart(string actorID, ulong evSeqNum, OSDMap data, long recvTime)
|
//private void HandleRemoteEvent_ScriptCollidingStart(string actorID, ulong evSeqNum, OSDMap data, long recvTime)
|
||||||
|
private void HandleRemoteEvent_ScriptCollidingEvents(SymmetricSyncMessage.MsgType msgType, string actorID, ulong evSeqNum, OSDMap data, long recvTime)
|
||||||
{
|
{
|
||||||
if (!data.ContainsKey("primUUID") || !data.ContainsKey("collisionUUIDs"))
|
if (!data.ContainsKey("primUUID") || !data.ContainsKey("collisionUUIDs"))
|
||||||
{
|
{
|
||||||
|
@ -2486,7 +2510,6 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
||||||
if (part.ParentGroup.IsDeleted == true)
|
if (part.ParentGroup.IsDeleted == true)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
m_log.DebugFormat("HandleRemoteEvent_ScriptCollidingStart received for {0}", part.Name);
|
|
||||||
|
|
||||||
for (int i = 0; i < collisionUUIDs.Count; i++)
|
for (int i = 0; i < collisionUUIDs.Count; i++)
|
||||||
{
|
{
|
||||||
|
@ -2541,6 +2564,7 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
||||||
|
|
||||||
if (collidersNotFound.Count > 0)
|
if (collidersNotFound.Count > 0)
|
||||||
{
|
{
|
||||||
|
//hard-coded expiration time to be one minute
|
||||||
TimeSpan msgExpireTime = new TimeSpan(0, 1, 0);
|
TimeSpan msgExpireTime = new TimeSpan(0, 1, 0);
|
||||||
TimeSpan msgSavedTime = new TimeSpan(DateTime.Now.Ticks - recvTime);
|
TimeSpan msgSavedTime = new TimeSpan(DateTime.Now.Ticks - recvTime);
|
||||||
|
|
||||||
|
@ -2548,13 +2572,13 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
||||||
{
|
{
|
||||||
//for testing only, need to remove after testing
|
//for testing only, need to remove after testing
|
||||||
/*
|
/*
|
||||||
TimeSpan testTime = new TimeSpan(0, 0, 10);
|
TimeSpan testTime = new TimeSpan(0, 0, 5);
|
||||||
if (msgSavedTime > testTime)
|
if (msgSavedTime > testTime)
|
||||||
{
|
{
|
||||||
collidersNotFound.Clear();
|
collidersNotFound.Clear();
|
||||||
collidersNotFound.Add(OSD.FromUUID(new UUID("fe3bc3cc-3ec5-423d-bd2b-d19386210368")));
|
collidersNotFound.Add(OSD.FromUUID(new UUID("fe3bc3cc-3ec5-423d-bd2b-d19386210368")));
|
||||||
}
|
}
|
||||||
* */
|
*/
|
||||||
|
|
||||||
OSDMap newdata = new OSDMap();
|
OSDMap newdata = new OSDMap();
|
||||||
newdata["primUUID"] = OSD.FromUUID(part.UUID);
|
newdata["primUUID"] = OSD.FromUUID(part.UUID);
|
||||||
|
@ -2562,8 +2586,20 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
||||||
|
|
||||||
newdata["actorID"] = OSD.FromString(actorID);
|
newdata["actorID"] = OSD.FromString(actorID);
|
||||||
newdata["seqNum"] = OSD.FromULong(evSeqNum);
|
newdata["seqNum"] = OSD.FromULong(evSeqNum);
|
||||||
SymmetricSyncMessage rsm = new SymmetricSyncMessage(SymmetricSyncMessage.MsgType.ScriptCollidingStart, OSDParser.SerializeJsonString(newdata));
|
|
||||||
|
|
||||||
|
SymmetricSyncMessage rsm = null;
|
||||||
|
switch (msgType)
|
||||||
|
{
|
||||||
|
case SymmetricSyncMessage.MsgType.ScriptCollidingStart:
|
||||||
|
rsm = new SymmetricSyncMessage(SymmetricSyncMessage.MsgType.ScriptCollidingStart, OSDParser.SerializeJsonString(newdata));
|
||||||
|
break;
|
||||||
|
case SymmetricSyncMessage.MsgType.ScriptColliding:
|
||||||
|
rsm = new SymmetricSyncMessage(SymmetricSyncMessage.MsgType.ScriptColliding, OSDParser.SerializeJsonString(newdata));
|
||||||
|
break;
|
||||||
|
case SymmetricSyncMessage.MsgType.ScriptCollidingEnd:
|
||||||
|
rsm = new SymmetricSyncMessage(SymmetricSyncMessage.MsgType.ScriptCollidingEnd, OSDParser.SerializeJsonString(newdata));
|
||||||
|
break;
|
||||||
|
}
|
||||||
SyncMessageRecord syncMsgToSave = new SyncMessageRecord();
|
SyncMessageRecord syncMsgToSave = new SyncMessageRecord();
|
||||||
syncMsgToSave.ReceivedTime = recvTime;
|
syncMsgToSave.ReceivedTime = recvTime;
|
||||||
syncMsgToSave.SyncMessage = rsm;
|
syncMsgToSave.SyncMessage = rsm;
|
||||||
|
@ -2579,7 +2615,22 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
||||||
{
|
{
|
||||||
StartCollidingMessage.Colliders = colliding;
|
StartCollidingMessage.Colliders = colliding;
|
||||||
// always running this check because if the user deletes the object it would return a null reference.
|
// always running this check because if the user deletes the object it would return a null reference.
|
||||||
LocalScene.EventManager.TriggerScriptCollidingStartLocally(part.LocalId, StartCollidingMessage);
|
//LocalScene.EventManager.TriggerScriptCollidingStartLocally(part.LocalId, StartCollidingMessage);
|
||||||
|
switch (msgType)
|
||||||
|
{
|
||||||
|
case SymmetricSyncMessage.MsgType.ScriptCollidingStart:
|
||||||
|
m_log.DebugFormat("ScriptCollidingStart received for {0}", part.Name);
|
||||||
|
LocalScene.EventManager.TriggerScriptCollidingStartLocally(part.LocalId, StartCollidingMessage);
|
||||||
|
break;
|
||||||
|
case SymmetricSyncMessage.MsgType.ScriptColliding:
|
||||||
|
m_log.DebugFormat("ScriptColliding received for {0}", part.Name);
|
||||||
|
LocalScene.EventManager.TriggerScriptCollidingLocally(part.LocalId, StartCollidingMessage);
|
||||||
|
break;
|
||||||
|
case SymmetricSyncMessage.MsgType.ScriptCollidingEnd:
|
||||||
|
m_log.DebugFormat("ScriptCollidingEnd received for {0}", part.Name);
|
||||||
|
LocalScene.EventManager.TriggerScriptCollidingEndLocally(part.LocalId, StartCollidingMessage);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2894,11 +2945,37 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OnLocalScriptCollidingEvents(EventManager.EventNames evType, uint localID, ColliderArgs colliders)
|
||||||
|
{
|
||||||
|
SceneObjectPart part = LocalScene.GetSceneObjectPart(localID);
|
||||||
|
if (part == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
OSDMap data = PrepareCollisionArgs(localID, colliders);
|
||||||
|
|
||||||
|
if (data.Count == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
switch (evType)
|
||||||
|
{
|
||||||
|
case EventManager.EventNames.ScriptCollidingStart:
|
||||||
|
SendSceneEvent(SymmetricSyncMessage.MsgType.ScriptCollidingStart, data);
|
||||||
|
break;
|
||||||
|
case EventManager.EventNames.ScriptColliding:
|
||||||
|
SendSceneEvent(SymmetricSyncMessage.MsgType.ScriptColliding, data);
|
||||||
|
break;
|
||||||
|
case EventManager.EventNames.ScriptCollidingEnd:
|
||||||
|
SendSceneEvent(SymmetricSyncMessage.MsgType.ScriptCollidingEnd, data);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void OnLocalScriptCollidingStart(uint localID, ColliderArgs colliders)
|
private void OnLocalScriptCollidingStart(uint localID, ColliderArgs colliders)
|
||||||
{
|
{
|
||||||
SceneObjectPart part = LocalScene.GetSceneObjectPart(localID);
|
SceneObjectPart part = LocalScene.GetSceneObjectPart(localID);
|
||||||
if (part == null)
|
if (part == null)
|
||||||
return;
|
return;
|
||||||
|
/*
|
||||||
OSDArray collisionUUIDs = new OSDArray();
|
OSDArray collisionUUIDs = new OSDArray();
|
||||||
foreach (DetectedObject detObj in colliders.Colliders)
|
foreach (DetectedObject detObj in colliders.Colliders)
|
||||||
{
|
{
|
||||||
|
@ -2908,9 +2985,45 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
||||||
OSDMap data = new OSDMap();
|
OSDMap data = new OSDMap();
|
||||||
data["primUUID"] = OSD.FromUUID(part.UUID);
|
data["primUUID"] = OSD.FromUUID(part.UUID);
|
||||||
data["collisionUUIDs"] = collisionUUIDs;
|
data["collisionUUIDs"] = collisionUUIDs;
|
||||||
|
* */
|
||||||
|
OSDMap data = PrepareCollisionArgs(localID, colliders);
|
||||||
SendSceneEvent(SymmetricSyncMessage.MsgType.ScriptCollidingStart, data);
|
SendSceneEvent(SymmetricSyncMessage.MsgType.ScriptCollidingStart, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OnLocalScriptColliding(uint localID, ColliderArgs colliders)
|
||||||
|
{
|
||||||
|
SceneObjectPart part = LocalScene.GetSceneObjectPart(localID);
|
||||||
|
if (part == null)
|
||||||
|
return;
|
||||||
|
OSDMap data = PrepareCollisionArgs(localID, colliders);
|
||||||
|
SendSceneEvent(SymmetricSyncMessage.MsgType.ScriptColliding, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnLocalScriptCollidingEnd(uint localID, ColliderArgs colliders)
|
||||||
|
{
|
||||||
|
SceneObjectPart part = LocalScene.GetSceneObjectPart(localID);
|
||||||
|
if (part == null)
|
||||||
|
return;
|
||||||
|
OSDMap data = PrepareCollisionArgs(localID, colliders);
|
||||||
|
SendSceneEvent(SymmetricSyncMessage.MsgType.ScriptCollidingEnd, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
private OSDMap PrepareCollisionArgs(uint localID, ColliderArgs colliders)
|
||||||
|
{
|
||||||
|
OSDMap data = new OSDMap();
|
||||||
|
SceneObjectPart part = LocalScene.GetSceneObjectPart(localID);
|
||||||
|
if (part == null)
|
||||||
|
return data;
|
||||||
|
OSDArray collisionUUIDs = new OSDArray();
|
||||||
|
foreach (DetectedObject detObj in colliders.Colliders)
|
||||||
|
{
|
||||||
|
collisionUUIDs.Add(OSD.FromUUID(detObj.keyUUID));
|
||||||
|
}
|
||||||
|
|
||||||
|
data["primUUID"] = OSD.FromUUID(part.UUID);
|
||||||
|
data["collisionUUIDs"] = collisionUUIDs;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
//private void OnLocalScriptCollidingStart(uint localID, ColliderArgs OSDArray collisionUUIDs);
|
//private void OnLocalScriptCollidingStart(uint localID, ColliderArgs OSDArray collisionUUIDs);
|
||||||
|
|
||||||
|
@ -3057,11 +3170,13 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
||||||
switch (msg.Type)
|
switch (msg.Type)
|
||||||
{
|
{
|
||||||
case SymmetricSyncMessage.MsgType.ScriptCollidingStart:
|
case SymmetricSyncMessage.MsgType.ScriptCollidingStart:
|
||||||
|
case SymmetricSyncMessage.MsgType.ScriptColliding:
|
||||||
|
case SymmetricSyncMessage.MsgType.ScriptCollidingEnd:
|
||||||
{
|
{
|
||||||
OSDMap data = DeserializeMessage(msg);
|
OSDMap data = DeserializeMessage(msg);
|
||||||
string init_actorID = data["actorID"].AsString();
|
string init_actorID = data["actorID"].AsString();
|
||||||
ulong evSeqNum = data["seqNum"].AsULong();
|
ulong evSeqNum = data["seqNum"].AsULong();
|
||||||
HandleRemoteEvent_ScriptCollidingStart(init_actorID, evSeqNum, data, syncMsgSaved.ReceivedTime);
|
HandleRemoteEvent_ScriptCollidingEvents(msg.Type, init_actorID, evSeqNum, data, syncMsgSaved.ReceivedTime);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -158,7 +158,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
#endregion //ChatFromClient
|
#endregion //ChatFromClient
|
||||||
|
|
||||||
#region ChatBroadcast
|
#region ChatBroadcast
|
||||||
|
|
||||||
public override void TriggerOnChatBroadcast(Object sender, OSChatMessage chat)
|
public override void TriggerOnChatBroadcast(Object sender, OSChatMessage chat)
|
||||||
{
|
{
|
||||||
|
@ -176,7 +176,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
{
|
{
|
||||||
base.TriggerOnChatBroadcast(sender, chat);
|
base.TriggerOnChatBroadcast(sender, chat);
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
#region ChatFromWorld
|
#region ChatFromWorld
|
||||||
|
@ -280,7 +280,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
#endregion //GrabObject
|
#endregion //GrabObject
|
||||||
|
|
||||||
#region collisions
|
#region collisions
|
||||||
public override void TriggerScriptCollidingStart(uint localId, ColliderArgs colliders)
|
public override void TriggerScriptCollidingStart(uint localId, ColliderArgs colliders)
|
||||||
{
|
{
|
||||||
if (m_scene.RegionSyncModule != null)
|
if (m_scene.RegionSyncModule != null)
|
||||||
|
@ -297,7 +297,42 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
{
|
{
|
||||||
base.TriggerScriptCollidingStart(localId, colliders);
|
base.TriggerScriptCollidingStart(localId, colliders);
|
||||||
}
|
}
|
||||||
#endregion
|
|
||||||
|
public override void TriggerScriptColliding(uint localId, ColliderArgs colliders)
|
||||||
|
{
|
||||||
|
if (m_scene.RegionSyncModule != null)
|
||||||
|
{
|
||||||
|
Object[] eventArgs = new Object[4];
|
||||||
|
eventArgs[0] = (Object)localId;
|
||||||
|
eventArgs[1] = (Object)colliders;
|
||||||
|
m_scene.RegionSyncModule.PublishSceneEvent(EventNames.ScriptColliding, eventArgs);
|
||||||
|
}
|
||||||
|
TriggerScriptCollidingLocally(localId, colliders);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void TriggerScriptCollidingLocally(uint localId, ColliderArgs colliders)
|
||||||
|
{
|
||||||
|
base.TriggerScriptColliding(localId, colliders);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void TriggerScriptCollidingEnd(uint localId, ColliderArgs colliders)
|
||||||
|
{
|
||||||
|
if (m_scene.RegionSyncModule != null)
|
||||||
|
{
|
||||||
|
Object[] eventArgs = new Object[4];
|
||||||
|
eventArgs[0] = (Object)localId;
|
||||||
|
eventArgs[1] = (Object)colliders;
|
||||||
|
m_scene.RegionSyncModule.PublishSceneEvent(EventNames.ScriptCollidingEnd, eventArgs);
|
||||||
|
}
|
||||||
|
TriggerScriptCollidingEndLocally(localId, colliders);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void TriggerScriptCollidingEndLocally(uint localId, ColliderArgs colliders)
|
||||||
|
{
|
||||||
|
base.TriggerScriptCollidingEnd(localId, colliders);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -2238,7 +2273,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void TriggerScriptColliding(uint localId, ColliderArgs colliders)
|
//public void TriggerScriptColliding(uint localId, ColliderArgs colliders)
|
||||||
|
public virtual void TriggerScriptColliding(uint localId, ColliderArgs colliders)
|
||||||
{
|
{
|
||||||
ScriptColliding handlerColliding = OnScriptColliding;
|
ScriptColliding handlerColliding = OnScriptColliding;
|
||||||
if (handlerColliding != null)
|
if (handlerColliding != null)
|
||||||
|
@ -2259,7 +2295,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void TriggerScriptCollidingEnd(uint localId, ColliderArgs colliders)
|
//public void TriggerScriptCollidingEnd(uint localId, ColliderArgs colliders)
|
||||||
|
public virtual void TriggerScriptCollidingEnd(uint localId, ColliderArgs colliders)
|
||||||
{
|
{
|
||||||
ScriptColliding handlerCollidingEnd = OnScriptCollidingEnd;
|
ScriptColliding handlerCollidingEnd = OnScriptCollidingEnd;
|
||||||
if (handlerCollidingEnd != null)
|
if (handlerCollidingEnd != null)
|
||||||
|
|
Loading…
Reference in New Issue