* First pass at persistence support
* Fixed a chat crashing bug
* Remove avatars from the scene on logout
* Sanity check before adding objects to the scene in ObjectAdd
* Sanity check in CompleteAgentMovementHandler if the avatar is already in the scene
* Added ContainsKey() to DoubleDictionary

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2245 52acb1d6-8a22-11de-b505-999d5b087335
This commit is contained in:
John Hurliman
2008-09-28 21:28:10 +00:00
parent eb258fbf68
commit a23f41fdca
8 changed files with 218 additions and 36 deletions

View File

@@ -27,6 +27,8 @@ namespace Simian.Extensions
Server.UDP.RegisterPacketCallback(PacketType.ObjectDelink, new PacketCallback(ObjectDelinkHandler));
Server.UDP.RegisterPacketCallback(PacketType.ObjectShape, new PacketCallback(ObjectShapeHandler));
Server.UDP.RegisterPacketCallback(PacketType.ObjectFlagUpdate, new PacketCallback(ObjectFlagUpdateHandler));
Server.UDP.RegisterPacketCallback(PacketType.ObjectExtraParams, new PacketCallback(ObjectExtraParamsHandler));
Server.UDP.RegisterPacketCallback(PacketType.ObjectImage, new PacketCallback(ObjectImageHandler));
Server.UDP.RegisterPacketCallback(PacketType.DeRezObject, new PacketCallback(DeRezObjectHandler));
Server.UDP.RegisterPacketCallback(PacketType.MultipleObjectUpdate, new PacketCallback(MultipleObjectUpdateHandler));
Server.UDP.RegisterPacketCallback(PacketType.RequestObjectPropertiesFamily, new PacketCallback(RequestObjectPropertiesFamilyHandler));
@@ -481,6 +483,27 @@ namespace Simian.Extensions
}
}
void ObjectExtraParamsHandler(Packet packet, Agent agent)
{
ObjectExtraParamsPacket extra = (ObjectExtraParamsPacket)packet;
for (int i = 0; i < extra.ObjectData.Length; i++)
{
ObjectExtraParamsPacket.ObjectDataBlock block = extra.ObjectData[i];
SimulationObject obj;
if (Server.Scene.TryGetObject(block.ObjectLocalID, out obj))
{
ExtraParamType type = (ExtraParamType)block.ParamType;
}
}
}
void ObjectImageHandler(Packet packet, Agent agent)
{
}
void DeRezObjectHandler(Packet packet, Agent agent)
{
DeRezObjectPacket derez = (DeRezObjectPacket)packet;