OpenMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage.Serialize C# (CSharp) Method

Serialize() public method

Serialize the object
public Serialize ( ) : OSDMap
return OSDMap
        public OSDMap Serialize()
        {
            OSDArray dataArray = new OSDArray(PrimOwnersBlock.Length);
            OSDArray dataExtendedArray = new OSDArray();

            for (int i = 0; i < PrimOwnersBlock.Length; i++)
            {
                OSDMap dataMap = new OSDMap(4);
                dataMap["OwnerID"] = OSD.FromUUID(PrimOwnersBlock[i].OwnerID);
                dataMap["Count"] = OSD.FromInteger(PrimOwnersBlock[i].Count);
                dataMap["IsGroupOwned"] = OSD.FromBoolean(PrimOwnersBlock[i].IsGroupOwned);
                dataMap["OnlineStatus"] = OSD.FromBoolean(PrimOwnersBlock[i].OnlineStatus);
                dataArray.Add(dataMap);

                OSDMap dataExtendedMap = new OSDMap(1);
                dataExtendedMap["TimeStamp"] = OSD.FromDate(PrimOwnersBlock[i].TimeStamp);
                dataExtendedArray.Add(dataExtendedMap);
            }

            OSDMap map = new OSDMap();
            map.Add("Data", dataArray);
            if (dataExtendedArray.Count > 0)
                map.Add("DataExtended", dataExtendedArray);

            return map;
        }

Usage Example

Ejemplo n.º 1
0
 public static OSD ParcelObjectOwnersReply(ParcelObjectOwnersReplyMessage parcelPropertiesMessage)
 {
     OSDMap message = new OSDMap {{"message", OSD.FromString("ParcelObjectOwnersReply")}};
     OSD message_body = parcelPropertiesMessage.Serialize();
     if (((OSDMap) message_body).ContainsKey("DataExtended"))
     {
         OSDArray m = (OSDArray) ((OSDMap) message_body)["DataExtended"];
         int num = 0;
         foreach (OSDMap innerMap in m.Cast<OSDMap>())
         {
             innerMap["TimeStamp"] =
                 OSD.FromUInteger((uint) Util.ToUnixTime(parcelPropertiesMessage.PrimOwnersBlock[num].TimeStamp));
             num++;
         }
     }
     message.Add("body", message_body);
     return message;
 }
All Usage Examples Of OpenMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage::Serialize
ParcelObjectOwnersReplyMessage