From e92ab35b0540e09bd0007dbe2de0b32c3832cc76 Mon Sep 17 00:00:00 2001 From: MW Date: Thu, 31 May 2007 16:30:42 +0000 Subject: Another commit as ordered by robl --- OpenSim/OpenSim.World/World.cs | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) (limited to 'OpenSim/OpenSim.World/World.cs') diff --git a/OpenSim/OpenSim.World/World.cs b/OpenSim/OpenSim.World/World.cs index 69d4646..2c5971d 100644 --- a/OpenSim/OpenSim.World/World.cs +++ b/OpenSim/OpenSim.World/World.cs @@ -92,7 +92,7 @@ namespace OpenSim.world Avatar.SetupTemplate("avatar-texture.dat"); Avatar.LoadAnims(); - + //this.SetDefaultScripts(); //this.LoadScriptEngines(); @@ -115,7 +115,7 @@ namespace OpenSim.world m_heartbeatTimer.Elapsed += new ElapsedEventHandler(this.Heartbeat); } - + #region Update Methods @@ -268,6 +268,7 @@ namespace OpenSim.world #endregion + #region Regenerate Terrain /// @@ -451,6 +452,7 @@ namespace OpenSim.world remoteClient.OnRegionHandShakeReply += new GenericCall(this.SendLayerData); //remoteClient.OnRequestWearables += new GenericCall(this.GetInitialPrims); remoteClient.OnChatFromViewer += new ChatFromViewer(this.SimChat); + remoteClient.OnRequestWearables += new GenericCall(this.InformClientOfNeighbours); Avatar newAvatar = null; try @@ -460,13 +462,13 @@ namespace OpenSim.world OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "World.cs:AddViewerAgent() - Adding new avatar to world"); OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "World.cs:AddViewerAgent() - Starting RegionHandshake "); newAvatar.SendRegionHandshake(); - + PhysicsVector pVec = new PhysicsVector(newAvatar.Pos.X, newAvatar.Pos.Y, newAvatar.Pos.Z); lock (this.LockPhysicsEngine) { newAvatar.PhysActor = this.phyScene.AddAvatar(pVec); } - + lock (Entities) { if (!Entities.ContainsKey(agentID)) @@ -500,6 +502,24 @@ namespace OpenSim.world /// /// /// + protected void InformClientOfNeighbours(IClientAPI remoteClient) + { + List neighbours = this.commsManager.RequestNeighbours(this.m_regInfo); + + + for (int i = 0; i < neighbours.Count; i++) + { + AgentCircuitData agent = remoteClient.RequestClientInfo(); + agent.BaseFolder = LLUUID.Zero; + agent.InventoryFolder = LLUUID.Zero; + agent.startpos = new LLVector3(128, 128, 70); + this.commsManager.InformNeighbourOfChildAgent(neighbours[i].RegionHandle, agent); + } + } + + /// + /// + /// /// public override void RemoveAvatar(LLUUID agentID) { @@ -556,9 +576,9 @@ namespace OpenSim.world } } - public void NewUserConnection(ulong regionHandle,AgentCircuitData agent) + public void NewUserConnection(ulong regionHandle, AgentCircuitData agent) { - Console.WriteLine("World.cs - add new user connection"); + Console.WriteLine("World.cs - add new user connection"); //should just check that its meant for this region if (regionHandle == this.m_regInfo.RegionHandle) { -- cgit v1.1