diff options
author | diva | 2009-02-09 22:27:27 +0000 |
---|---|---|
committer | diva | 2009-02-09 22:27:27 +0000 |
commit | 2c685bff1493451849580cfb6bf44b88322bf0a4 (patch) | |
tree | 4179700c2b1fcbcc7a5ab07f7bc65b3bf97a79d9 /OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |
parent | Thank you kindly, TLaukkan (Timmil) for a patch that: (diff) | |
download | opensim-SC-2c685bff1493451849580cfb6bf44b88322bf0a4.zip opensim-SC-2c685bff1493451849580cfb6bf44b88322bf0a4.tar.gz opensim-SC-2c685bff1493451849580cfb6bf44b88322bf0a4.tar.bz2 opensim-SC-2c685bff1493451849580cfb6bf44b88322bf0a4.tar.xz |
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.
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index d3b9626..e732b42 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -29,6 +29,7 @@ using System; | |||
29 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
30 | using System.Drawing; | 30 | using System.Drawing; |
31 | using System.IO; | 31 | using System.IO; |
32 | using System.Threading; | ||
32 | using System.Xml; | 33 | using System.Xml; |
33 | using System.Xml.Serialization; | 34 | using System.Xml.Serialization; |
34 | using OpenMetaverse; | 35 | using OpenMetaverse; |
@@ -84,7 +85,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
84 | /// A scene object group is conceptually an object in the scene. The object is constituted of SceneObjectParts | 85 | /// A scene object group is conceptually an object in the scene. The object is constituted of SceneObjectParts |
85 | /// (often known as prims), one of which is considered the root part. | 86 | /// (often known as prims), one of which is considered the root part. |
86 | /// </summary> | 87 | /// </summary> |
87 | public partial class SceneObjectGroup : EntityBase | 88 | public partial class SceneObjectGroup : EntityBase, ISceneObject |
88 | { | 89 | { |
89 | // private PrimCountTaintedDelegate handlerPrimCountTainted = null; | 90 | // private PrimCountTaintedDelegate handlerPrimCountTainted = null; |
90 | 91 | ||
@@ -3030,5 +3031,31 @@ namespace OpenSim.Region.Framework.Scenes | |||
3030 | part.SetAttachmentPoint(point); | 3031 | part.SetAttachmentPoint(point); |
3031 | } | 3032 | } |
3032 | } | 3033 | } |
3034 | |||
3035 | #region ISceneObject | ||
3036 | |||
3037 | public virtual ISceneObject CloneForNewScene() | ||
3038 | { | ||
3039 | SceneObjectGroup sog = Copy(this.OwnerID, this.GroupID, false); | ||
3040 | return sog; | ||
3041 | } | ||
3042 | |||
3043 | public virtual string ExtraToXmlString() | ||
3044 | { | ||
3045 | return "<ExtraFromAssetID>" + GetFromAssetID().ToString() + "</ExtraFromAssetID>"; | ||
3046 | } | ||
3047 | |||
3048 | public virtual void ExtraFromXmlString(string xmlstr) | ||
3049 | { | ||
3050 | string id = xmlstr.Substring(xmlstr.IndexOf("<ExtraFromAssetID>")); | ||
3051 | id = xmlstr.Replace("<ExtraFromAssetID>", ""); | ||
3052 | id = id.Replace("</ExtraFromAssetID>", ""); | ||
3053 | |||
3054 | UUID uuid = UUID.Zero; | ||
3055 | UUID.TryParse(id, out uuid); | ||
3056 | |||
3057 | SetFromAssetID(uuid); | ||
3058 | } | ||
3059 | #endregion | ||
3033 | } | 3060 | } |
3034 | } | 3061 | } |