* Added some inter-region comms glue for allowing sims to chat amongst themsevles about an agent behind the agent's back.

* Will be using this glue Tomorrow/today to tell other regions what the agent's draw distance is and what region they're actually in so the region can make decisions on what prim to send, if any.
This commit is contained in:
Teravus Ovares
2007-12-09 05:59:49 +00:00
parent 65b9fa9a5f
commit f2b175ef08
7 changed files with 172 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace OpenSim.Framework
{
[Serializable]
public class ChildAgentDataUpdate
{
public ChildAgentDataUpdate()
{
}
public sLLVector3 Position;
public ulong regionHandle;
public float drawdistance;
public sLLVector3 cameraPosition;
public sLLVector3 Velocity;
public float AVHeight;
public Guid AgentID;
public float godlevel;
}
}

View File

@@ -36,6 +36,7 @@ namespace OpenSim.Framework.Communications
bool InformRegionOfChildAgent(ulong regionHandle, AgentCircuitData agentData);
bool InformRegionOfPrimCrossing(ulong regionHandle, LLUUID primID, string objData);
bool RegionUp(SearializableRegionInfo region, ulong regionhandle);
bool ChildAgentUpdate(ulong regionHandle, ChildAgentDataUpdate cAgentData);
bool ExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isFlying);
bool ExpectPrimCrossing(ulong regionHandle, LLUUID primID, LLVector3 position, bool isFlying);

View File

@@ -48,6 +48,8 @@ namespace OpenSim.Framework
public delegate bool RegionUp(RegionInfo region);
public delegate bool ChildAgentUpdate(ulong regionHandle, ChildAgentDataUpdate cAgentData);
public interface IRegionCommsListener
@@ -62,6 +64,7 @@ namespace OpenSim.Framework
event UpdateNeighbours OnNeighboursUpdate;
event CloseAgentConnection OnCloseAgentConnection;
event RegionUp OnRegionUp;
event ChildAgentUpdate OnChildAgentUpdate;
}
}

View File

@@ -43,6 +43,7 @@ namespace OpenSim.Framework
public event AcknowledgePrimCross OnAcknowledgePrimCrossed;
public event CloseAgentConnection OnCloseAgentConnection;
public event RegionUp OnRegionUp;
public event ChildAgentUpdate OnChildAgentUpdate;
public string debugRegionName="";
@@ -81,6 +82,16 @@ namespace OpenSim.Framework
return false;
}
public virtual bool TriggerChildAgentUpdate(ulong regionHandle, ChildAgentDataUpdate cAgentData)
{
if (OnChildAgentUpdate != null)
{
OnChildAgentUpdate(regionHandle, cAgentData);
return true;
}
return false;
}
public virtual bool TriggerExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position,
bool isFlying)
{