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

@ -972,9 +972,11 @@ namespace OpenSim.Region.Environment.Scenes
/// <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)
{ {
AbsolutePosition = pos; if (m_scene.EventManager.TriggerGroupMove(UUID, pos))
m_rootPart.SendTerseUpdateToAllClients(); {
m_scene.EventManager.TriggerGroupMove(UUID, pos); AbsolutePosition = pos;
m_rootPart.SendTerseUpdateToAllClients();
}
} }
/// <summary> /// <summary>
@ -1263,10 +1265,11 @@ namespace OpenSim.Region.Environment.Scenes
/// <param name="pos"></param> /// <param name="pos"></param>
public void UpdateGroupPosition(LLVector3 pos) public void UpdateGroupPosition(LLVector3 pos)
{ {
AbsolutePosition = pos; if (m_scene.EventManager.TriggerGroupMove(UUID, pos))
ScheduleGroupForTerseUpdate(); {
AbsolutePosition = pos;
m_scene.EventManager.TriggerGroupMove(UUID, pos); ScheduleGroupForTerseUpdate();
}
} }
/// <summary> /// <summary>