public override void FromOSD (OSDMap map)
{
var uloc = Vector3.Zero;
var ulook = Vector3.Zero;
RegionID = map["RegionID"].AsUUID();
ScopeID = map["ScopeID"].AsUUID();
GlobalID = map["GlobalID"].AsUUID();
LocalID = map["LocalID"].AsInteger();
SalePrice = map["SalePrice"].AsInteger();
Name = map["Name"].AsString();
Description = map["Description"].AsString();
Flags = (uint) map["Flags"].AsInteger();
Dwell = map["Dwell"].AsInteger();
AuctionID = map["AuctionID"].AsUInteger();
Area = map["Area"].AsInteger();
Maturity = map["Maturity"].AsInteger();
OwnerID = map["OwnerID"].AsUUID();
GroupID = map["GroupID"].AsUUID();
IsGroupOwned = (GroupID != UUID.Zero);
SnapshotID = map["SnapshotID"].AsUUID();
MediaDescription = map["MediaDescription"].AsString();
MediaWidth = map["MediaWidth"].AsInteger();
MediaHeight = map["MediaHeight"].AsInteger();
MediaLoop = map["MediaLoop"].AsBoolean();
MediaType = map["MediaType"].AsString();
ObscureMedia = map["ObscureMedia"].AsBoolean();
ObscureMusic = map["ObscureMusic"].AsBoolean();
// 25062016 LibOMV update 1.0.2.1
SeeAVS = map["SeeAVs"].AsBoolean();
AnyAVSounds = map["AnyAVSounds"].AsBoolean();
GroupAVSounds = map["GroupAVSounds"].AsBoolean();
// End
MediaLoopSet = (float) map["MediaLoopSet"].AsReal();
MediaAutoScale = (byte) map["MediaAutoScale"].AsInteger();
MediaURL = map["MediaURL"].AsString();
MusicURL = map["MusicURL"].AsString();
Bitmap = map["Bitmap"].AsBinary();
Category = (ParcelCategory) map["Category"].AsInteger();
FirstParty = map["FirstParty"].AsBoolean();
ClaimDate = map["ClaimDate"].AsInteger();
ClaimPrice = map["ClaimPrice"].AsInteger();
Status = (ParcelStatus) map["Status"].AsInteger();
LandingType = (byte) map["LandingType"].AsInteger();
PassHours = (float) map["PassHours"].AsReal();
PassPrice = map["PassPrice"].AsInteger();
AuthBuyerID = map["AuthBuyerID"].AsUUID();
OtherCleanTime = map["OtherCleanTime"].AsInteger();
RegionHandle = map["RegionHandle"].AsULong();
Private = map["Private"].AsBoolean();
AuctionInfo = new AuctionInfo();
if (map.ContainsKey("AuctionInfo"))
AuctionInfo.FromOSD((OSDMap) map["AuctionInfo"]);
if ((IsGroupOwned) && (GroupID != OwnerID)) OwnerID = GroupID;
if (map.ContainsKey("UserLocation")) {
UserLocation = map ["UserLocation"].AsVector3 ();
} else {
uloc.X = (float)Convert.ToDecimal (map ["ULocX"].AsString (), Culture.NumberFormatInfo);
uloc.Y = (float)Convert.ToDecimal (map ["ULocY"].AsString (), Culture.NumberFormatInfo);
uloc.Z = (float)Convert.ToDecimal (map ["ULocZ"].AsString (), Culture.NumberFormatInfo);
UserLocation = uloc;
}
if (map.ContainsKey("UserLookAt")) {
UserLookAt = map ["UserLookAt"].AsVector3 ();
} else {
ulook.X = (float)Convert.ToDecimal (map ["ULookX"].AsString (), Culture.NumberFormatInfo);
ulook.Y = (float)Convert.ToDecimal (map ["ULookY"].AsString (), Culture.NumberFormatInfo);
ulook.Z = (float)Convert.ToDecimal (map ["ULookZ"].AsString (), Culture.NumberFormatInfo);
UserLookAt = ulook;
}
}