Add a CHANGED_POSITION event so scripts don't have to run expensive loops to check for position changes

avinationmerge
Tom 2010-08-07 06:28:04 -07:00
parent f9f776e407
commit 4f80d75bf3
3 changed files with 5 additions and 1 deletions

View File

@ -476,6 +476,7 @@ namespace OpenSim.Region.Framework.Scenes
part.IgnoreUndoUpdate = false;
part.StoreUndoState(UndoType.STATE_GROUP_POSITION);
part.GroupPosition = val;
part.TriggerScriptChangedEvent(Changed.POSITION);
}
foreach (ScenePresence av in m_linkedAvatars)

View File

@ -60,7 +60,8 @@ namespace OpenSim.Region.Framework.Scenes
TELEPORT = 512,
REGION_RESTART = 1024,
MEDIA = 2048,
ANIMATION = 16384
ANIMATION = 16384,
POSITION = 32768
}
// I don't really know where to put this except here.
@ -730,6 +731,7 @@ namespace OpenSim.Region.Framework.Scenes
}
}
}
TriggerScriptChangedEvent(Changed.POSITION);
}
}

View File

@ -279,6 +279,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
public const int CHANGED_REGION_START = 1024; //LL Changed the constant from CHANGED_REGION_RESTART
public const int CHANGED_MEDIA = 2048;
public const int CHANGED_ANIMATION = 16384;
public const int CHANGED_POSITION = 32768;
public const int TYPE_INVALID = 0;
public const int TYPE_INTEGER = 1;
public const int TYPE_FLOAT = 2;