mirror of
https://github.com/opensim/opensim.git
synced 2026-08-13 05:05:43 +08:00
Added Scene.ConvertLocalIDToFullID() method.
This commit is contained in:
@@ -1023,5 +1023,23 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
ScriptEngine.InitializeEngine(this);
|
||||
}
|
||||
#endregion
|
||||
|
||||
public LLUUID ConvertLocalIDToFullID(uint localID)
|
||||
{
|
||||
bool hasPrim = false;
|
||||
foreach (EntityBase ent in Entities.Values)
|
||||
{
|
||||
if (ent is SceneObjectGroup)
|
||||
{
|
||||
hasPrim = ((SceneObjectGroup)ent).HasChildPrim(localID);
|
||||
if (hasPrim != false)
|
||||
{
|
||||
return ((SceneObjectGroup)ent).GetPartsFullID(localID);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -825,5 +825,15 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public LLUUID GetPartsFullID(uint localID)
|
||||
{
|
||||
SceneObjectPart part = this.GetChildPrim(localID);
|
||||
if (part != null)
|
||||
{
|
||||
return part.UUID;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -300,7 +300,11 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
dupe.Acceleration = new LLVector3(0, 0, 0);
|
||||
dupe.AngularVelocity = new LLVector3(0, 0, 0);
|
||||
dupe.ObjectFlags = this.ObjectFlags;
|
||||
//TODO copy extraparams data and anything else not currently copied
|
||||
|
||||
byte[] extraP = new byte[this.Shape.ExtraParams.Length];
|
||||
Array.Copy(this.Shape.ExtraParams, extraP, extraP.Length);
|
||||
dupe.Shape.ExtraParams = extraP;
|
||||
|
||||
return dupe;
|
||||
}
|
||||
#endregion
|
||||
|
||||
Reference in New Issue
Block a user