From 279e0061c515ee0a03036bef68eea9738273d785 Mon Sep 17 00:00:00 2001 From: Johan Berntsson Date: Tue, 4 Mar 2008 05:31:54 +0000 Subject: Merged 3Di code that provides scene and avatar serialization, and plugin support for region move/split/merge. See ThirdParty/3Di/README.txt. Unless the new modules are used there should be no noticeable changes when running OpenSim. --- OpenSim/Region/Environment/Scenes/InnerScene.cs | 43 +++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'OpenSim/Region/Environment/Scenes/InnerScene.cs') diff --git a/OpenSim/Region/Environment/Scenes/InnerScene.cs b/OpenSim/Region/Environment/Scenes/InnerScene.cs index 860f5fb..882e589 100644 --- a/OpenSim/Region/Environment/Scenes/InnerScene.cs +++ b/OpenSim/Region/Environment/Scenes/InnerScene.cs @@ -57,6 +57,7 @@ namespace OpenSim.Region.Environment.Scenes // SceneObjects is not currently populated or used. //public Dictionary SceneObjects; public Dictionary Entities; + public Dictionary RestorePresences; public BasicQuadTreeNode QuadTree; @@ -455,6 +456,48 @@ namespace OpenSim.Region.Environment.Scenes return newAvatar; } + public void AddScenePresence(ScenePresence presence) + { + bool child = presence.IsChildAgent; + + if (child) + { + m_numChildAgents++; + m_log.Info("[SCENE]"+ m_regInfo.RegionName + ": Creating new child agent."); + } + else + { + m_numRootAgents++; + m_log.Info("[SCENE] "+ m_regInfo.RegionName + ": Creating new root agent."); + m_log.Info("[SCENE] "+ m_regInfo.RegionName + ": Adding Physical agent."); + + presence.AddToPhysicalScene(); + } + + lock (Entities) + { + if (!Entities.ContainsKey(presence.m_uuid)) + { + Entities.Add(presence.m_uuid, presence); + } + else + { + Entities[presence.m_uuid] = presence; + } + } + lock (ScenePresences) + { + if (ScenePresences.ContainsKey(presence.m_uuid)) + { + ScenePresences[presence.m_uuid] = presence; + } + else + { + ScenePresences.Add(presence.m_uuid, presence); + } + } + } + public void SwapRootChildAgent(bool direction_RC_CR_T_F) { if (direction_RC_CR_T_F) -- cgit v1.1