Serialize() public method

Serialize the object
public Serialize ( ) : OSDMap
return OSDMap
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;
 }
        public void ParcelObjectOwnersMessage()
        {
            ParcelObjectOwnersReplyMessage s = new ParcelObjectOwnersReplyMessage();
            s.PrimOwnersBlock = new ParcelObjectOwnersReplyMessage.PrimOwner[2];

            ParcelObjectOwnersReplyMessage.PrimOwner obj = new ParcelObjectOwnersReplyMessage.PrimOwner();
            obj.OwnerID = UUID.Random();
            obj.Count = 10;
            obj.IsGroupOwned = true;
            obj.OnlineStatus = false;
            obj.TimeStamp = new DateTime(2010, 4, 13, 7, 19, 43);
            s.PrimOwnersBlock[0] = obj;

            ParcelObjectOwnersReplyMessage.PrimOwner obj1 = new ParcelObjectOwnersReplyMessage.PrimOwner();
            obj1.OwnerID = UUID.Random();
            obj1.Count = 0;
            obj1.IsGroupOwned = false;
            obj1.OnlineStatus = false;
            obj1.TimeStamp = new DateTime(1991, 1, 31, 3, 13, 31);
            s.PrimOwnersBlock[1] = obj1;

            OSDMap map = s.Serialize();

            ParcelObjectOwnersReplyMessage t = new ParcelObjectOwnersReplyMessage();
            t.Deserialize(map);

            for (int i = 0; i < t.PrimOwnersBlock.Length; i++)
            {
                Assert.AreEqual(s.PrimOwnersBlock[i].Count, t.PrimOwnersBlock[i].Count);
                Assert.AreEqual(s.PrimOwnersBlock[i].IsGroupOwned, t.PrimOwnersBlock[i].IsGroupOwned);
                Assert.AreEqual(s.PrimOwnersBlock[i].OnlineStatus, t.PrimOwnersBlock[i].OnlineStatus);
                Assert.AreEqual(s.PrimOwnersBlock[i].OwnerID, t.PrimOwnersBlock[i].OwnerID);
                Assert.AreEqual(s.PrimOwnersBlock[i].TimeStamp, t.PrimOwnersBlock[i].TimeStamp);
            }
        }