small change to OnSceneGroupMove event (in SceneEvents.cs)

afrisby
MW 2007-11-30 12:10:12 +00:00
parent 6e22faf73e
commit c1d66a8564
2 changed files with 14 additions and 10 deletions

View File

@ -88,7 +88,7 @@ namespace OpenSim.Region.Environment.Scenes
public event RemoveScript OnRemoveScript; public event RemoveScript OnRemoveScript;
public delegate void SceneGroupMoved(LLUUID groupID, LLVector3 delta); public delegate bool SceneGroupMoved(LLUUID groupID, LLVector3 delta);
public event SceneGroupMoved OnSceneGroupMove; public event SceneGroupMoved OnSceneGroupMove;
@ -194,12 +194,13 @@ namespace OpenSim.Region.Environment.Scenes
} }
} }
public void TriggerGroupMove(LLUUID groupID, LLVector3 delta) public bool TriggerGroupMove(LLUUID groupID, LLVector3 delta)
{ {
if (OnSceneGroupMove != null) if (OnSceneGroupMove != null)
{ {
OnSceneGroupMove(groupID, delta); return OnSceneGroupMove(groupID, delta);
} }
return true;
} }
public void TriggerGroupGrab(LLUUID groupID, LLVector3 offset, LLUUID userID) public void TriggerGroupGrab(LLUUID groupID, LLVector3 offset, LLUUID userID)

View File

@ -971,10 +971,12 @@ namespace OpenSim.Region.Environment.Scenes
/// <param name="pos"></param> /// <param name="pos"></param>
/// <param name="remoteClient"></param> /// <param name="remoteClient"></param>
public void GrabMovement(LLVector3 offset, LLVector3 pos, IClientAPI remoteClient) public void GrabMovement(LLVector3 offset, LLVector3 pos, IClientAPI remoteClient)
{
if (m_scene.EventManager.TriggerGroupMove(UUID, pos))
{ {
AbsolutePosition = pos; AbsolutePosition = pos;
m_rootPart.SendTerseUpdateToAllClients(); m_rootPart.SendTerseUpdateToAllClients();
m_scene.EventManager.TriggerGroupMove(UUID, pos); }
} }
/// <summary> /// <summary>
@ -1262,11 +1264,12 @@ namespace OpenSim.Region.Environment.Scenes
/// </summary> /// </summary>
/// <param name="pos"></param> /// <param name="pos"></param>
public void UpdateGroupPosition(LLVector3 pos) public void UpdateGroupPosition(LLVector3 pos)
{
if (m_scene.EventManager.TriggerGroupMove(UUID, pos))
{ {
AbsolutePosition = pos; AbsolutePosition = pos;
ScheduleGroupForTerseUpdate(); ScheduleGroupForTerseUpdate();
}
m_scene.EventManager.TriggerGroupMove(UUID, pos);
} }
/// <summary> /// <summary>