OpenMetaverse.Messages.Linden.EnableSimulatorMessage.Deserialize C# (CSharp) Method

Deserialize() public method

Deserialize the message
public Deserialize ( OSDMap map ) : void
map OSDMap An containing the data
return void
        public void Deserialize(OSDMap map)
        {
            OSDArray array = (OSDArray)map["SimulatorInfo"];
            Simulators = new SimulatorInfoBlock[array.Count];

            for (int i = 0; i < array.Count; i++)
            {
                OSDMap blockMap = (OSDMap)array[i];

                SimulatorInfoBlock block = new SimulatorInfoBlock();
                block.RegionHandle = blockMap["Handle"].AsULong();
                block.IP = MessageUtils.ToIP(blockMap["IP"]);
                block.Port = blockMap["Port"].AsInteger();
                Simulators[i] = block;
            }
        }
    }

Usage Example

        public void EnableSimulatorMessage()
        {
            EnableSimulatorMessage s = new EnableSimulatorMessage();
            s.Simulators = new EnableSimulatorMessage.SimulatorInfoBlock[2];

            EnableSimulatorMessage.SimulatorInfoBlock block1 = new EnableSimulatorMessage.SimulatorInfoBlock();
            block1.IP = testIP;
            block1.Port = 3000;
            block1.RegionHandle = testHandle;
            s.Simulators[0] = block1;

            EnableSimulatorMessage.SimulatorInfoBlock block2 = new EnableSimulatorMessage.SimulatorInfoBlock();
            block2.IP = testIP;
            block2.Port = 3001;
            block2.RegionHandle = testHandle;
            s.Simulators[1] = block2;

            OSDMap map = s.Serialize();

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

            for (int i = 0; i < t.Simulators.Length; i++)
            {
                Assert.AreEqual(s.Simulators[i].IP, t.Simulators[i].IP);
                Assert.AreEqual(s.Simulators[i].Port, t.Simulators[i].Port);
                Assert.AreEqual(s.Simulators[i].RegionHandle, t.Simulators[i].RegionHandle);
            }
        }
EnableSimulatorMessage