dont do for children what is for growups ( root agents) ( needs check)
parent
74efe1e393
commit
dc7b9c1cc3
|
@ -1823,12 +1823,12 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
Scene.SimulationService.ReleaseAgent(originID, UUID, m_callbackURI);
|
Scene.SimulationService.ReleaseAgent(originID, UUID, m_callbackURI);
|
||||||
m_callbackURI = null;
|
m_callbackURI = null;
|
||||||
}
|
}
|
||||||
// else
|
// else
|
||||||
// {
|
// {
|
||||||
// m_log.DebugFormat(
|
// m_log.DebugFormat(
|
||||||
// "[SCENE PRESENCE]: No callback provided on CompleteMovement of {0} {1} to {2}",
|
// "[SCENE PRESENCE]: No callback provided on CompleteMovement of {0} {1} to {2}",
|
||||||
// client.Name, client.AgentId, m_scene.RegionInfo.RegionName);
|
// client.Name, client.AgentId, m_scene.RegionInfo.RegionName);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
m_previusParcelHide = false;
|
m_previusParcelHide = false;
|
||||||
m_previusParcelUUID = UUID.Zero;
|
m_previusParcelUUID = UUID.Zero;
|
||||||
|
@ -1838,59 +1838,51 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
// send initial land overlay and parcel
|
// send initial land overlay and parcel
|
||||||
ILandChannel landch = m_scene.LandChannel;
|
ILandChannel landch = m_scene.LandChannel;
|
||||||
if (landch != null)
|
if (landch != null)
|
||||||
{
|
|
||||||
landch.sendClientInitialLandInfo(client);
|
landch.sendClientInitialLandInfo(client);
|
||||||
if (!IsChildAgent)
|
|
||||||
{
|
|
||||||
newhide = m_currentParcelHide;
|
|
||||||
m_currentParcelHide = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// send agentData to all clients including us (?)
|
if (!IsChildAgent)
|
||||||
// get appearance
|
|
||||||
// if in cache sent it to all clients
|
|
||||||
// send what we have to us, even if not in cache ( bad? )
|
|
||||||
ValidateAndSendAppearanceAndAgentData();
|
|
||||||
|
|
||||||
// attachments
|
|
||||||
if (isNPC || (TeleportFlags & TeleportFlags.ViaLogin) != 0)
|
|
||||||
{
|
{
|
||||||
if (Scene.AttachmentsModule != null)
|
newhide = m_currentParcelHide;
|
||||||
|
m_currentParcelHide = false;
|
||||||
|
|
||||||
|
ValidateAndSendAppearanceAndAgentData();
|
||||||
|
|
||||||
|
// attachments
|
||||||
|
if (isNPC || (TeleportFlags & TeleportFlags.ViaLogin) != 0)
|
||||||
|
{
|
||||||
|
if (Scene.AttachmentsModule != null)
|
||||||
// Util.FireAndForget(
|
// Util.FireAndForget(
|
||||||
// o =>
|
// o =>
|
||||||
// {
|
// {
|
||||||
Scene.AttachmentsModule.RezAttachments(this);
|
Scene.AttachmentsModule.RezAttachments(this);
|
||||||
// });
|
// });
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
|
||||||
List<SceneObjectGroup> attachments = GetAttachments();
|
|
||||||
|
|
||||||
if (attachments.Count > 0)
|
|
||||||
{
|
{
|
||||||
m_log.DebugFormat(
|
List<SceneObjectGroup> attachments = GetAttachments();
|
||||||
"[SCENE PRESENCE]: Restarting scripts in attachments for {0} in {1}", Name, Scene.Name);
|
|
||||||
|
|
||||||
// Resume scripts this possible should also be moved down after sending the avatar to viewer ?
|
if (attachments.Count > 0)
|
||||||
foreach (SceneObjectGroup sog in attachments)
|
|
||||||
{
|
{
|
||||||
sog.ScheduleGroupForFullUpdate();
|
m_log.DebugFormat(
|
||||||
sog.RootPart.ParentGroup.CreateScriptInstances(0, false, m_scene.DefaultScriptEngine, GetStateSource());
|
"[SCENE PRESENCE]: Restarting scripts in attachments for {0} in {1}", Name, Scene.Name);
|
||||||
sog.ResumeScripts();
|
|
||||||
|
// Resume scripts this possible should also be moved down after sending the avatar to viewer ?
|
||||||
|
foreach (SceneObjectGroup sog in attachments)
|
||||||
|
{
|
||||||
|
sog.ScheduleGroupForFullUpdate();
|
||||||
|
sog.RootPart.ParentGroup.CreateScriptInstances(0, false, m_scene.DefaultScriptEngine, GetStateSource());
|
||||||
|
sog.ResumeScripts();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
// m_log.DebugFormat(
|
|
||||||
// "[SCENE PRESENCE]: Completing movement of {0} into region {1} took {2}ms",
|
|
||||||
// client.Name, Scene.RegionInfo.RegionName, (DateTime.Now - startTime).Milliseconds);
|
|
||||||
|
|
||||||
// Create child agents in neighbouring regions
|
// Create child agents in neighbouring regions
|
||||||
if (openChildAgents && !IsChildAgent)
|
if (openChildAgents)
|
||||||
{
|
{
|
||||||
IEntityTransferModule m_agentTransfer = m_scene.RequestModuleInterface<IEntityTransferModule>();
|
IEntityTransferModule m_agentTransfer = m_scene.RequestModuleInterface<IEntityTransferModule>();
|
||||||
if (m_agentTransfer != null)
|
if (m_agentTransfer != null)
|
||||||
m_agentTransfer.EnableChildAgents(this);
|
m_agentTransfer.EnableChildAgents(this);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// send the rest of the world
|
// send the rest of the world
|
||||||
|
|
Loading…
Reference in New Issue