touch and world chat working
parent
62fbd2ef08
commit
3b9a6a565f
|
@ -32,6 +32,7 @@ using System.Reflection;
|
|||
using log4net;
|
||||
using OpenMetaverse;
|
||||
using OpenMetaverse.Packets;
|
||||
using OpenMetaverse.StructuredData;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Region.Framework.Scenes;
|
||||
|
||||
|
@ -311,6 +312,7 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
|||
private string m_firstName;
|
||||
private string m_lastName;
|
||||
private Vector3 m_startPos;
|
||||
private RegionSyncClientView m_clientView;
|
||||
|
||||
/*
|
||||
// Throw away duplicate or insignificant updates
|
||||
|
@ -326,6 +328,21 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
|||
m_firstName = first;
|
||||
m_lastName = last;
|
||||
m_startPos = startPos;
|
||||
m_clientView = null;
|
||||
|
||||
m_log.Debug("[REGION SYNC AVATAR] instance");
|
||||
|
||||
//m_scene.EventManager.OnFrame += Update;
|
||||
}
|
||||
|
||||
public RegionSyncAvatar(Scene scene, UUID agentID, string first, string last, Vector3 startPos, RegionSyncClientView view)
|
||||
{
|
||||
m_scene = scene;
|
||||
m_agentID = agentID;
|
||||
m_firstName = first;
|
||||
m_lastName = last;
|
||||
m_startPos = startPos;
|
||||
m_clientView = view;
|
||||
|
||||
m_log.Debug("[REGION SYNC AVATAR] instance");
|
||||
|
||||
|
@ -476,6 +493,7 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
|||
|
||||
public virtual void SendAnimations(UUID[] animations, int[] seqs, UUID sourceAgentId, UUID[] objectIDs)
|
||||
{
|
||||
m_log.Debug("[REGION SYNC AVATAR] SendAnimations");
|
||||
}
|
||||
|
||||
public virtual void SendChatMessage(string message, byte type, Vector3 fromPos, string fromName,
|
||||
|
@ -753,6 +771,21 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
|||
public void SendSitResponse(UUID TargetID, Vector3 OffsetPos, Quaternion SitOrientation, bool autopilot,
|
||||
Vector3 CameraAtOffset, Vector3 CameraEyeOffset, bool ForceMouseLook)
|
||||
{
|
||||
m_log.Debug("[REGION SYNC AVATAR] SendSitResponse");
|
||||
if (m_clientView != null)
|
||||
{
|
||||
OSDMap data = new OSDMap();
|
||||
data["agentID"] = OSD.FromUUID(m_agentID);
|
||||
data["targetID"] = OSD.FromUUID(TargetID);
|
||||
data["offsetPos"] = OSD.FromVector3(OffsetPos);
|
||||
data["sitOrientation"] = OSD.FromQuaternion(SitOrientation);
|
||||
data["autoPilot"] = OSD.FromBoolean(autopilot);
|
||||
data["cameraAtOffset"] = OSD.FromVector3(CameraAtOffset);
|
||||
data["cameraEyeOffset"] = OSD.FromVector3(CameraEyeOffset);
|
||||
data["forceMouseLook"] = OSD.FromBoolean(ForceMouseLook);
|
||||
RegionSyncMessage rsm = new RegionSyncMessage(RegionSyncMessage.MsgType.SitResponse, OSDParser.SerializeJsonString(data));
|
||||
m_clientView.Send(rsm);
|
||||
}
|
||||
}
|
||||
|
||||
public void SendAdminResponse(UUID Token, uint AdminLevel)
|
||||
|
|
|
@ -295,6 +295,14 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
|||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
m_log.DebugFormat("{0} NewObject '{1}'", LogHeader, sog.Name);
|
||||
sog.ForEachPart(delegate(SceneObjectPart part)
|
||||
{
|
||||
m_log.DebugFormat("{0} Part {1}, lf={2} f={3}", LogHeader, part.Name,
|
||||
part.LocalFlags.ToString(), part.Flags.ToString());
|
||||
});
|
||||
*/
|
||||
if (m_scene.AddNewSceneObject(sog, true));
|
||||
//RegionSyncMessage.HandleSuccess(LogHeader, msg, String.Format("Object \"{0}\" ({1}) ({1}) updated.", sog.Name, sog.UUID.ToString(), sog.LocalId.ToString()));
|
||||
//else
|
||||
|
@ -596,6 +604,7 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
|||
args.Position = data["pos"].AsVector3();
|
||||
args.From = data["name"].AsString();
|
||||
UUID id = data["id"].AsUUID();
|
||||
// m_log.DebugFormat("{0} chat. chan={1}, from='{2}', msg='{3}'", LogHeader, args.Channel, args.From, args.Message);
|
||||
args.Scene = m_scene;
|
||||
args.Type = ChatTypeEnum.Say;
|
||||
ScenePresence sp;
|
||||
|
@ -606,6 +615,11 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
|||
args.SenderUUID = id;
|
||||
m_scene.EventManager.TriggerOnChatBroadcast(sp.ControllingClient, args);
|
||||
}
|
||||
else {
|
||||
args.Sender = null;
|
||||
args.SenderUUID = id;
|
||||
m_scene.EventManager.TriggerOnChatFromWorld(null, args);
|
||||
}
|
||||
|
||||
//RegionSyncMessage.HandlerDebug(LogHeader, msg, String.Format("Received chat from \"{0}\"", args.From));
|
||||
RegionSyncMessage.HandleSuccess(LogHeader, msg, String.Format("Received chat from \"{0}\"", args.From));
|
||||
|
@ -663,6 +677,37 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
|||
RegionSyncMessage.HandleWarning(LogHeader, msg, String.Format("Agent {0} not found in the scene.", agentID));
|
||||
}
|
||||
//m_log.WarnFormat("{0} END of AvatarAppearance handler", LogHeader);
|
||||
return;
|
||||
}
|
||||
case RegionSyncMessage.MsgType.SitResponse:
|
||||
{
|
||||
OSDMap data = DeserializeMessage(msg);
|
||||
if (data == null)
|
||||
{
|
||||
RegionSyncMessage.HandleError(LogHeader, msg, "Could not deserialize JSON data.");
|
||||
return;
|
||||
}
|
||||
UUID agentID = data["agentID"].AsUUID();
|
||||
m_log.DebugFormat("{0} SitResponse for {1}", LogHeader, agentID);
|
||||
UUID targetID = data["targetID"].AsUUID();
|
||||
Vector3 offsetPos = data["offsetPos"].AsVector3();
|
||||
Quaternion sitOrientation = data["sitOrientation"].AsQuaternion();
|
||||
Boolean autopilot = data["autoPilot"].AsBoolean();
|
||||
Vector3 cameraAtOffset = data["cameraAtOffset"].AsVector3();
|
||||
Vector3 cameraEyeOffset = data["cameraEyeOffset"].AsVector3();
|
||||
Boolean forceMouseLook = data["forceMouseLook"].AsBoolean();
|
||||
ScenePresence presence;
|
||||
if (m_scene.TryGetScenePresence(agentID, out presence))
|
||||
{
|
||||
presence.ControllingClient.SendSitResponse(targetID, offsetPos, sitOrientation, autopilot,
|
||||
cameraAtOffset, cameraEyeOffset, forceMouseLook);
|
||||
}
|
||||
else
|
||||
{
|
||||
RegionSyncMessage.HandleWarning(LogHeader, msg,
|
||||
String.Format("Agent {0} not found in the scene for SitResponse.", agentID));
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
case RegionSyncMessage.MsgType.BalanceClientLoad:
|
||||
|
@ -768,6 +813,11 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
|||
client.OnAgentUpdateRaw += HandleAgentUpdateRaw;
|
||||
client.OnSetAppearanceRaw += HandleSetAppearanceRaw;
|
||||
client.OnChatFromClientRaw += HandleChatFromClientRaw;
|
||||
client.OnAgentRequestSit += HandleAgentRequestSit;
|
||||
client.OnAgentSit += HandleAgentSit;
|
||||
client.OnGrabObject += HandleGrabObject;
|
||||
client.OnGrabUpdate += HandleGrabUpdate;
|
||||
client.OnDeGrabObject += HandleDeGrabObject;
|
||||
}
|
||||
|
||||
public void EventManager_OnMakeChildAgent(ScenePresence scenep)
|
||||
|
@ -867,6 +917,80 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
|||
}
|
||||
}
|
||||
|
||||
public void HandleAgentRequestSit(object sender, UUID agentID, UUID targetID, Vector3 offset)
|
||||
{
|
||||
m_log.DebugFormat("[REGION SYNC CLIENT] HandleAgentRequestSit for {0}", agentID.ToString());
|
||||
OSDMap data = new OSDMap(3);
|
||||
data["agentID"] = OSD.FromUUID(agentID);
|
||||
data["targetID"] = OSD.FromUUID(targetID);
|
||||
data["offset"] = OSD.FromVector3(offset);
|
||||
Send(new RegionSyncMessage(RegionSyncMessage.MsgType.AgentRequestSit, OSDParser.SerializeJsonString(data)));
|
||||
}
|
||||
|
||||
public void HandleAgentSit(IClientAPI remoteClient, UUID agentID)
|
||||
{
|
||||
m_log.DebugFormat("[REGION SYNC CLIENT] HandleAgentSit for {0}", agentID.ToString());
|
||||
OSDMap data = new OSDMap(1);
|
||||
data["agentID"] = OSD.FromUUID(agentID);
|
||||
Send(new RegionSyncMessage(RegionSyncMessage.MsgType.AgentSit, OSDParser.SerializeJsonString(data)));
|
||||
}
|
||||
|
||||
public void HandleGrabObject(uint localID, Vector3 offsetPos, IClientAPI remoteClient, List<SurfaceTouchEventArgs> surfaceArgs)
|
||||
{
|
||||
m_log.DebugFormat("[REGION SYNC CLIENT] HandleGrabObject for {0}", remoteClient.AgentId.ToString());
|
||||
OSDMap data = new OSDMap(4);
|
||||
data["agentID"] = OSD.FromUUID(remoteClient.AgentId);
|
||||
data["localID"] = OSD.FromUInteger(localID);
|
||||
data["offsetPos"] = OSD.FromVector3(offsetPos);
|
||||
data["surfaceArgs"] = MakeSurfaceArgsArray(surfaceArgs);
|
||||
Send(new RegionSyncMessage(RegionSyncMessage.MsgType.GrabObject, OSDParser.SerializeJsonString(data)));
|
||||
}
|
||||
|
||||
public void HandleGrabUpdate(UUID objectID, Vector3 offset, Vector3 pos, IClientAPI remoteClient, List<SurfaceTouchEventArgs> surfaceArgs)
|
||||
{
|
||||
m_log.DebugFormat("[REGION SYNC CLIENT] HandleGrabUpdate for {0}", remoteClient.AgentId.ToString());
|
||||
OSDMap data = new OSDMap(5);
|
||||
data["agentID"] = OSD.FromUUID(remoteClient.AgentId);
|
||||
data["objectID"] = OSD.FromUUID(objectID);
|
||||
data["offset"] = OSD.FromVector3(offset);
|
||||
data["pos"] = OSD.FromVector3(pos);
|
||||
data["surfaceArgs"] = MakeSurfaceArgsArray(surfaceArgs);
|
||||
Send(new RegionSyncMessage(RegionSyncMessage.MsgType.GrabUpdate, OSDParser.SerializeJsonString(data)));
|
||||
}
|
||||
|
||||
public void HandleDeGrabObject(uint localID, IClientAPI remoteClient, List<SurfaceTouchEventArgs> surfaceArgs)
|
||||
{
|
||||
m_log.DebugFormat("[REGION SYNC CLIENT] HandleDeGrabObject for {0}", remoteClient.AgentId.ToString());
|
||||
OSDMap data = new OSDMap(3);
|
||||
data["agentID"] = OSD.FromUUID(remoteClient.AgentId);
|
||||
data["localID"] = OSD.FromUInteger(localID);
|
||||
data["surfaceArgs"] = MakeSurfaceArgsArray(surfaceArgs);
|
||||
Send(new RegionSyncMessage(RegionSyncMessage.MsgType.DeGrabObject, OSDParser.SerializeJsonString(data)));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Convert a list of SurfaceTouchEventArgs into an OSDArray for transmission.
|
||||
/// Return an array of maps which each are a list entry.
|
||||
/// </summary>
|
||||
/// <param name="surfaceArgs"></param>
|
||||
/// <returns></returns>
|
||||
private OSDArray MakeSurfaceArgsArray(List<SurfaceTouchEventArgs> surfaceArgs)
|
||||
{
|
||||
OSDArray surfaceList = new OSDArray();
|
||||
for (int ii = 0; ii < surfaceArgs.Count; ii++)
|
||||
{
|
||||
OSDMap surfaceData = new OSDMap(6);
|
||||
surfaceData["binormal"] = OSD.FromVector3(surfaceArgs[ii].Binormal);
|
||||
surfaceData["faceIndex"] = OSD.FromInteger(surfaceArgs[ii].FaceIndex);
|
||||
surfaceData["normal"] = OSD.FromVector3(surfaceArgs[ii].Normal);
|
||||
surfaceData["position"] = OSD.FromVector3(surfaceArgs[ii].Position);
|
||||
surfaceData["stCoord"] = OSD.FromVector3(surfaceArgs[ii].STCoord);
|
||||
surfaceData["uvCoord"] = OSD.FromVector3(surfaceArgs[ii].UVCoord);
|
||||
surfaceList.Add(surfaceData);
|
||||
}
|
||||
return surfaceList;
|
||||
}
|
||||
|
||||
public void HandleChatFromClientRaw(object sender, byte[] chatData)
|
||||
{
|
||||
if (chatData != null && sender is IClientAPI)
|
||||
|
|
|
@ -179,7 +179,9 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
|||
// *** This is the main receive loop thread for each connected client
|
||||
private void ReceiveLoop()
|
||||
{
|
||||
m_scene.EventManager.OnChatFromClient += new EventManager.ChatFromClientEvent(EventManager_OnChatFromClient);
|
||||
m_scene.EventManager.OnChatFromClient += new EventManager.ChatFromClientEvent(EventManager_OnChatFromClient);
|
||||
m_scene.EventManager.OnChatFromWorld += new EventManager.ChatFromWorldEvent(EventManager_OnChatFromClient);
|
||||
|
||||
|
||||
// Reset stats and time
|
||||
lastStatTime = DateTime.Now;
|
||||
|
@ -349,7 +351,7 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
|||
|
||||
if (agentID != null && first != null && last != null && startPos != null)
|
||||
{
|
||||
RegionSyncAvatar av = new RegionSyncAvatar(m_scene, agentID, first, last, startPos);
|
||||
RegionSyncAvatar av = new RegionSyncAvatar(m_scene, agentID, first, last, startPos, this);
|
||||
lock (m_syncRoot)
|
||||
{
|
||||
if (m_syncedAvatars.ContainsKey(agentID))
|
||||
|
@ -535,6 +537,119 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
|||
//m_log.WarnFormat("{0} END of AvatarAppearance handler <{1}>", LogHeader, msgID);
|
||||
return;
|
||||
}
|
||||
case RegionSyncMessage.MsgType.AgentRequestSit:
|
||||
{
|
||||
OSDMap data = DeserializeMessage(msg);
|
||||
if (data == null)
|
||||
{
|
||||
RegionSyncMessage.HandleError(LogHeader, msg, "Could not deserialize JSON data.");
|
||||
return;
|
||||
}
|
||||
UUID agentID = data["agentID"].AsUUID();
|
||||
UUID targetID = data["targetID"].AsUUID();
|
||||
Vector3 offset = data["offset"].AsVector3();
|
||||
|
||||
m_log.DebugFormat("{0} AgentRequestSit for {1}", LogHeader, agentID.ToString());
|
||||
|
||||
ScenePresence sp;
|
||||
m_scene.TryGetScenePresence(agentID, out sp);
|
||||
if (sp != null)
|
||||
{
|
||||
sp.HandleAgentRequestSit(sp.ControllingClient, agentID, targetID, offset);
|
||||
}
|
||||
return;
|
||||
}
|
||||
case RegionSyncMessage.MsgType.AgentSit:
|
||||
{
|
||||
OSDMap data = DeserializeMessage(msg);
|
||||
if (data == null)
|
||||
{
|
||||
RegionSyncMessage.HandleError(LogHeader, msg, "Could not deserialize JSON data.");
|
||||
return;
|
||||
}
|
||||
UUID agentID = data["agentID"].AsUUID();
|
||||
|
||||
m_log.DebugFormat("{0} AgentSit for {1}", LogHeader, agentID.ToString());
|
||||
|
||||
ScenePresence sp;
|
||||
m_scene.TryGetScenePresence(agentID, out sp);
|
||||
if (sp != null)
|
||||
{
|
||||
sp.HandleAgentSit(sp.ControllingClient, agentID);
|
||||
}
|
||||
return;
|
||||
}
|
||||
case RegionSyncMessage.MsgType.GrabObject:
|
||||
{
|
||||
OSDMap data = DeserializeMessage(msg);
|
||||
if (data == null)
|
||||
{
|
||||
RegionSyncMessage.HandleError(LogHeader, msg, "Could not deserialize JSON data.");
|
||||
return;
|
||||
}
|
||||
UUID agentID = data["agentID"].AsUUID();
|
||||
uint localID = data["localID"].AsUInteger();
|
||||
m_log.DebugFormat("{0} GrabObject for {1}. object={2}",
|
||||
LogHeader, agentID.ToString(), localID);
|
||||
Vector3 offsetPos = data["offsetPos"].AsVector3();
|
||||
OSDArray surfaceArray = (OSDArray)data["surfaceArgs"];
|
||||
List<SurfaceTouchEventArgs> surfaceArgs = ExtractSurfaceArgList(surfaceArray);
|
||||
|
||||
ScenePresence sp;
|
||||
m_scene.TryGetScenePresence(agentID, out sp);
|
||||
if (sp != null)
|
||||
{
|
||||
m_scene.ProcessObjectGrab(localID, offsetPos, sp.ControllingClient, surfaceArgs);
|
||||
}
|
||||
return;
|
||||
}
|
||||
case RegionSyncMessage.MsgType.GrabUpdate:
|
||||
{
|
||||
OSDMap data = DeserializeMessage(msg);
|
||||
if (data == null)
|
||||
{
|
||||
RegionSyncMessage.HandleError(LogHeader, msg, "Could not deserialize JSON data.");
|
||||
return;
|
||||
}
|
||||
UUID agentID = data["agentID"].AsUUID();
|
||||
UUID objectID = data["objectID"].AsUUID();
|
||||
m_log.DebugFormat("{0} GrabUpdate for {1}. ObjectID={2}",
|
||||
LogHeader, agentID.ToString(), objectID.ToString());
|
||||
Vector3 offset = data["offset"].AsVector3();
|
||||
Vector3 pos = data["pos"].AsVector3();
|
||||
OSDArray surfaceArray = (OSDArray)data["surfaceArgs"];
|
||||
List<SurfaceTouchEventArgs> surfaceArgs = ExtractSurfaceArgList(surfaceArray);
|
||||
|
||||
ScenePresence sp;
|
||||
m_scene.TryGetScenePresence(agentID, out sp);
|
||||
if (sp != null)
|
||||
{
|
||||
m_scene.ProcessObjectGrabUpdate(objectID, offset, pos, sp.ControllingClient, surfaceArgs);
|
||||
}
|
||||
return;
|
||||
}
|
||||
case RegionSyncMessage.MsgType.DeGrabObject:
|
||||
{
|
||||
OSDMap data = DeserializeMessage(msg);
|
||||
if (data == null)
|
||||
{
|
||||
RegionSyncMessage.HandleError(LogHeader, msg, "Could not deserialize JSON data.");
|
||||
return;
|
||||
}
|
||||
UUID agentID = data["agentID"].AsUUID();
|
||||
m_log.DebugFormat("{0} DeGrabUpdate for {1}", LogHeader, agentID.ToString());
|
||||
uint localID = data["objectID"].AsUInteger();
|
||||
OSDArray surfaceArray = (OSDArray)data["surfaceArgs"];
|
||||
List<SurfaceTouchEventArgs> surfaceArgs = ExtractSurfaceArgList(surfaceArray);
|
||||
|
||||
ScenePresence sp;
|
||||
m_scene.TryGetScenePresence(agentID, out sp);
|
||||
if (sp != null)
|
||||
{
|
||||
m_scene.ProcessObjectDeGrab(localID, sp.ControllingClient, surfaceArgs);
|
||||
}
|
||||
return;
|
||||
}
|
||||
case RegionSyncMessage.MsgType.ChatFromClient:
|
||||
{
|
||||
// Get the data from message and error check
|
||||
|
@ -649,6 +764,24 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
|||
}
|
||||
}
|
||||
|
||||
private List<SurfaceTouchEventArgs> ExtractSurfaceArgList(OSDArray args)
|
||||
{
|
||||
List<SurfaceTouchEventArgs> surfaceArgs = new List<SurfaceTouchEventArgs>();
|
||||
for (int ii = 0; ii < args.Count; ii++)
|
||||
{
|
||||
SurfaceTouchEventArgs stea = new SurfaceTouchEventArgs();
|
||||
OSDMap entry = (OSDMap)args[ii];
|
||||
stea.Binormal = entry["binormal"].AsVector3();
|
||||
stea.FaceIndex = entry["faceIndex"].AsInteger();
|
||||
stea.Normal = entry["normal"].AsVector3();
|
||||
stea.Position = entry["position"].AsVector3();
|
||||
stea.STCoord = entry["stCoord"].AsVector3();
|
||||
stea.UVCoord = entry["uvCoord"].AsVector3();
|
||||
surfaceArgs.Add(stea);
|
||||
}
|
||||
return surfaceArgs;
|
||||
}
|
||||
|
||||
private bool HandlerDebug(RegionSyncMessage msg, string handlerMessage)
|
||||
{
|
||||
m_log.WarnFormat("{0} DBG ({1}): {2}", LogHeader, msg.ToString(), handlerMessage);
|
||||
|
|
|
@ -42,6 +42,11 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
|||
AgentAdd,
|
||||
AgentUpdate,
|
||||
AgentRemove,
|
||||
AgentRequestSit,
|
||||
AgentSit,
|
||||
GrabObject,
|
||||
GrabUpdate,
|
||||
DeGrabObject,
|
||||
GetTerrain,
|
||||
GetObjects,
|
||||
SubscribeObjects,
|
||||
|
@ -62,6 +67,7 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
|||
RemovedAvatar, // avatars
|
||||
BalanceClientLoad, // Tells CM a client load target and a place to teleport the extras
|
||||
ChatFromSim,
|
||||
SitResponse,
|
||||
// BIDIR
|
||||
EchoRequest,
|
||||
EchoResponse,
|
||||
|
|
|
@ -3117,9 +3117,12 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
client.OnUpdatePrimFlags += m_sceneGraph.UpdatePrimFlags;
|
||||
client.OnRequestObjectPropertiesFamily += m_sceneGraph.RequestObjectPropertiesFamily;
|
||||
client.OnObjectPermissions += HandleObjectPermissionsUpdate;
|
||||
client.OnGrabObject += ProcessObjectGrab;
|
||||
client.OnGrabUpdate += ProcessObjectGrabUpdate;
|
||||
client.OnDeGrabObject += ProcessObjectDeGrab;
|
||||
if (IsSyncedServer())
|
||||
{
|
||||
client.OnGrabObject += ProcessObjectGrab;
|
||||
client.OnGrabUpdate += ProcessObjectGrabUpdate;
|
||||
client.OnDeGrabObject += ProcessObjectDeGrab;
|
||||
}
|
||||
client.OnUndo += m_sceneGraph.HandleUndo;
|
||||
client.OnRedo += m_sceneGraph.HandleRedo;
|
||||
client.OnObjectDescription += m_sceneGraph.PrimDescription;
|
||||
|
|
|
@ -259,7 +259,6 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
[XmlIgnore]
|
||||
public bool IgnoreUndoUpdate = false;
|
||||
|
||||
[XmlIgnore]
|
||||
private PrimFlags LocalFlags;
|
||||
[XmlIgnore]
|
||||
private float m_damage = -1.0f;
|
||||
|
|
|
@ -768,20 +768,22 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
public void RegisterToEvents()
|
||||
{
|
||||
// REGION SYNC
|
||||
if (m_scene.IsSyncedServer() || m_scene.RegionSyncEnabled == false)
|
||||
// if (m_scene.IsSyncedServer() || m_scene.RegionSyncEnabled == false)
|
||||
if (m_scene.IsSyncedServer())
|
||||
{
|
||||
// These client messages will not be handled by client managers but instead
|
||||
// they are caught by the RegionSyncClient module and passed up to the auth sim
|
||||
m_controllingClient.OnAgentUpdate += HandleAgentUpdate;
|
||||
m_controllingClient.OnSetAppearance += SetAppearance;
|
||||
m_log.DebugFormat("[SCENE PRESENCE]: Setting local handler for HandleAgentRequestSit"); //RA
|
||||
m_controllingClient.OnAgentRequestSit += HandleAgentRequestSit;
|
||||
m_controllingClient.OnAgentSit += HandleAgentSit;
|
||||
}
|
||||
|
||||
m_controllingClient.OnRequestWearables += SendWearables;
|
||||
m_controllingClient.OnCompleteMovementToRegion += CompleteMovement;
|
||||
//m_controllingClient.OnCompleteMovementToRegion += SendInitialData;
|
||||
|
||||
m_controllingClient.OnAgentRequestSit += HandleAgentRequestSit;
|
||||
m_controllingClient.OnAgentSit += HandleAgentSit;
|
||||
m_controllingClient.OnSetAlwaysRun += HandleSetAlwaysRun;
|
||||
m_controllingClient.OnStartAnim += HandleStartAnim;
|
||||
m_controllingClient.OnStopAnim += HandleStopAnim;
|
||||
|
|
Loading…
Reference in New Issue