change CreatorIdentification set code

LSLKeyTest
UbitUmarov 2016-09-19 16:03:33 +01:00
parent 1b7327800a
commit cca01f5cda
1 changed files with 18 additions and 22 deletions

View File

@ -537,39 +537,29 @@ namespace OpenSim.Region.Framework.Scenes
} }
set set
{ {
CreatorData = string.Empty;
if ((value == null) || (value != null && value == string.Empty)) if ((value == null) || (value != null && value == string.Empty))
{
CreatorData = string.Empty;
return; return;
}
if (!value.Contains(";")) // plain UUID // value is uuid or uuid;homeuri;firstname lastname
string[] parts = value.Split(';');
if (parts.Length > 0)
{ {
UUID uuid = UUID.Zero; UUID uuid = UUID.Zero;
UUID.TryParse(value, out uuid); UUID.TryParse(parts[0], out uuid);
CreatorID = uuid; CreatorID = uuid;
}
else // <uuid>[;<endpoint>[;name]] if (parts.Length > 1)
{
string name = "Unknown User";
string[] parts = value.Split(';');
if (parts.Length >= 1)
{
UUID uuid = UUID.Zero;
UUID.TryParse(parts[0], out uuid);
CreatorID = uuid;
}
if (parts.Length >= 2)
{ {
CreatorData = parts[1]; CreatorData = parts[1];
if (!CreatorData.EndsWith("/")) if (!CreatorData.EndsWith("/"))
CreatorData += "/"; CreatorData += "/";
if (parts.Length > 2)
CreatorData += ';' + parts[2];
else
CreatorData += ";Unknown User";
} }
if (parts.Length >= 3)
name = parts[2];
CreatorData += ';' + name;
} }
} }
} }
@ -4653,6 +4643,12 @@ SendFullUpdateToClient(remoteClient, Position) ignores position parameter
DoPhysicsPropertyUpdate(UsePhysics, false); // Update physical status. DoPhysicsPropertyUpdate(UsePhysics, false); // Update physical status.
if(UsePhysics && !SetPhantom && m_localId == ParentGroup.RootPart.LocalId &&
m_vehicleParams != null && m_vehicleParams.CameraDecoupled)
AddFlag(PrimFlags.CameraDecoupled);
else
RemFlag(PrimFlags.CameraDecoupled);
if (pa.Building != building) if (pa.Building != building)
pa.Building = building; pa.Building = building;
} }