aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/ScenePresence.cs
diff options
context:
space:
mode:
authorTeravus Ovares (Dan Olivares)2009-09-05 02:58:35 -0400
committerTeravus Ovares (Dan Olivares)2009-09-05 02:58:35 -0400
commit855fb58c9650086122b76c586c4a4a408343143f (patch)
treeb0a6f98c26c59c8f228e1c3e3e208b30024fda06 /OpenSim/Region/Framework/Scenes/ScenePresence.cs
parentMerge branch 'master' of ssh://MyConnection/var/git/opensim (diff)
downloadopensim-SC-855fb58c9650086122b76c586c4a4a408343143f.zip
opensim-SC-855fb58c9650086122b76c586c4a4a408343143f.tar.gz
opensim-SC-855fb58c9650086122b76c586c4a4a408343143f.tar.bz2
opensim-SC-855fb58c9650086122b76c586c4a4a408343143f.tar.xz
* Moves ScenePresence SendCourseLocations to a delegate and provide a method to replace the delegate
* RegionCombinerModule replaces this delegate and distributes the CoarseLocationUpdates through the client connection in the region where the user would be if it was a separate region. * Fixes Mini Map display on combined regions.
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs23
1 files changed, 23 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 857dc11..1024857 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -62,6 +62,8 @@ namespace OpenSim.Region.Framework.Scenes
62 public ScriptControlled eventControls; 62 public ScriptControlled eventControls;
63 } 63 }
64 64
65 public delegate void SendCourseLocationsMethod(UUID scene, ScenePresence presence);
66
65 public class ScenePresence : EntityBase 67 public class ScenePresence : EntityBase
66 { 68 {
67// ~ScenePresence() 69// ~ScenePresence()
@@ -87,12 +89,15 @@ namespace OpenSim.Region.Framework.Scenes
87 public Vector3 lastKnownAllowedPosition; 89 public Vector3 lastKnownAllowedPosition;
88 public bool sentMessageAboutRestrictedParcelFlyingDown; 90 public bool sentMessageAboutRestrictedParcelFlyingDown;
89 91
92
93
90 private bool m_updateflag; 94 private bool m_updateflag;
91 private byte m_movementflag; 95 private byte m_movementflag;
92 private readonly List<NewForce> m_forcesList = new List<NewForce>(); 96 private readonly List<NewForce> m_forcesList = new List<NewForce>();
93 private short m_updateCount; 97 private short m_updateCount;
94 private uint m_requestedSitTargetID; 98 private uint m_requestedSitTargetID;
95 private UUID m_requestedSitTargetUUID = UUID.Zero; 99 private UUID m_requestedSitTargetUUID = UUID.Zero;
100 private SendCourseLocationsMethod m_sendCourseLocationsMethod;
96 101
97 private bool m_startAnimationSet; 102 private bool m_startAnimationSet;
98 103
@@ -616,6 +621,7 @@ namespace OpenSim.Region.Framework.Scenes
616 621
617 private ScenePresence(IClientAPI client, Scene world, RegionInfo reginfo) 622 private ScenePresence(IClientAPI client, Scene world, RegionInfo reginfo)
618 { 623 {
624 m_sendCourseLocationsMethod = SendCoarseLocationsDefault;
619 CreateSceneViewer(); 625 CreateSceneViewer();
620 m_regionHandle = reginfo.RegionHandle; 626 m_regionHandle = reginfo.RegionHandle;
621 m_controllingClient = client; 627 m_controllingClient = client;
@@ -2458,6 +2464,21 @@ namespace OpenSim.Region.Framework.Scenes
2458 2464
2459 public void SendCoarseLocations() 2465 public void SendCoarseLocations()
2460 { 2466 {
2467 SendCourseLocationsMethod d = m_sendCourseLocationsMethod;
2468 if (d != null)
2469 {
2470 d.Invoke(m_scene.RegionInfo.originRegionID, this);
2471 }
2472 }
2473
2474 public void SetSendCourseLocationMethod(SendCourseLocationsMethod d)
2475 {
2476 if (d != null)
2477 m_sendCourseLocationsMethod = d;
2478 }
2479
2480 public void SendCoarseLocationsDefault(UUID sceneId, ScenePresence p)
2481 {
2461 m_perfMonMS = Environment.TickCount; 2482 m_perfMonMS = Environment.TickCount;
2462 2483
2463 List<Vector3> CoarseLocations = new List<Vector3>(); 2484 List<Vector3> CoarseLocations = new List<Vector3>();
@@ -3302,6 +3323,7 @@ namespace OpenSim.Region.Framework.Scenes
3302 { 3323 {
3303 Primitive.TextureEntry textu = AvatarAppearance.GetDefaultTexture(); 3324 Primitive.TextureEntry textu = AvatarAppearance.GetDefaultTexture();
3304 DefaultTexture = textu.GetBytes(); 3325 DefaultTexture = textu.GetBytes();
3326
3305 } 3327 }
3306 3328
3307 public class NewForce 3329 public class NewForce
@@ -3431,6 +3453,7 @@ namespace OpenSim.Region.Framework.Scenes
3431 Primitive.TextureEntry textu = AvatarAppearance.GetDefaultTexture(); 3453 Primitive.TextureEntry textu = AvatarAppearance.GetDefaultTexture();
3432 DefaultTexture = textu.GetBytes(); 3454 DefaultTexture = textu.GetBytes();
3433 } 3455 }
3456 m_sendCourseLocationsMethod = SendCoarseLocationsDefault;
3434 CreateSceneViewer(); 3457 CreateSceneViewer();
3435 } 3458 }
3436 3459