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 delegate void SceneGroupMoved(LLUUID groupID, LLVector3 delta);
public delegate bool SceneGroupMoved(LLUUID groupID, LLVector3 delta);
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)
{
OnSceneGroupMove(groupID, delta);
return OnSceneGroupMove(groupID, delta);
}
return true;
}
public void TriggerGroupGrab(LLUUID groupID, LLVector3 offset, LLUUID userID)

View File

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