mirror of
https://github.com/opensim/opensim.git
synced 2026-08-12 04:05:42 +08:00
Moved prim crossing out of OGS1 and into RESTComms and LocalInterregionComms. This breaks interregion comms with older versions in what concerns prim crossing. In the process of moving the comms, a few things seem to be working better, namely this may address mantis #3011, mantis #1698. Hopefully, this doesn't break anything else. But I'm still seeing weirdnesses with attchments jumping out of place after a cross/TP.
The two most notable changes in the crossing process were: * Object gets passed in only one message, not two as done before. * Local object crossings do not get serialized, as done before.
This commit is contained in:
@@ -29,6 +29,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Threading;
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
using OpenMetaverse;
|
||||
@@ -84,7 +85,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
/// A scene object group is conceptually an object in the scene. The object is constituted of SceneObjectParts
|
||||
/// (often known as prims), one of which is considered the root part.
|
||||
/// </summary>
|
||||
public partial class SceneObjectGroup : EntityBase
|
||||
public partial class SceneObjectGroup : EntityBase, ISceneObject
|
||||
{
|
||||
// private PrimCountTaintedDelegate handlerPrimCountTainted = null;
|
||||
|
||||
@@ -3030,5 +3031,31 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
part.SetAttachmentPoint(point);
|
||||
}
|
||||
}
|
||||
|
||||
#region ISceneObject
|
||||
|
||||
public virtual ISceneObject CloneForNewScene()
|
||||
{
|
||||
SceneObjectGroup sog = Copy(this.OwnerID, this.GroupID, false);
|
||||
return sog;
|
||||
}
|
||||
|
||||
public virtual string ExtraToXmlString()
|
||||
{
|
||||
return "<ExtraFromAssetID>" + GetFromAssetID().ToString() + "</ExtraFromAssetID>";
|
||||
}
|
||||
|
||||
public virtual void ExtraFromXmlString(string xmlstr)
|
||||
{
|
||||
string id = xmlstr.Substring(xmlstr.IndexOf("<ExtraFromAssetID>"));
|
||||
id = xmlstr.Replace("<ExtraFromAssetID>", "");
|
||||
id = id.Replace("</ExtraFromAssetID>", "");
|
||||
|
||||
UUID uuid = UUID.Zero;
|
||||
UUID.TryParse(id, out uuid);
|
||||
|
||||
SetFromAssetID(uuid);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user