diff options
Makes region crossings asynchronous. Moved the bulk of the original code out of ScenePresence and into SceneCommunicationService, where it should be (next to RequestTeleportToLocation). No changes in the crossing mechanism itself, yet. But this change opens the way to doing crossings as slowly as it needs to be, outside the simulator Update loop.
Note: weirdnesses may occur!
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index e2eb89e..30b44b1 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -3179,6 +3179,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
3179 | return m_sceneGridService.CrossToNeighbouringRegion(regionHandle, agentID, position, isFlying); | 3179 | return m_sceneGridService.CrossToNeighbouringRegion(regionHandle, agentID, position, isFlying); |
3180 | } | 3180 | } |
3181 | 3181 | ||
3182 | public void CrossAgentToNewRegion(ScenePresence agent, bool isFlying) | ||
3183 | { | ||
3184 | m_sceneGridService.CrossAgentToNewRegion(this, agent, isFlying); | ||
3185 | } | ||
3186 | |||
3182 | public void SendOutChildAgentUpdates(AgentPosition cadu, ScenePresence presence) | 3187 | public void SendOutChildAgentUpdates(AgentPosition cadu, ScenePresence presence) |
3183 | { | 3188 | { |
3184 | m_sceneGridService.SendChildAgentDataUpdate(cadu, presence); | 3189 | m_sceneGridService.SendChildAgentDataUpdate(cadu, presence); |