fCraft.MessageBlock.Deserialize C# (CSharp) Method

Deserialize() public static method

public static Deserialize ( string name, string sdata, Map map ) : MessageBlock
name string
sdata string
map Map
return MessageBlock
        public static MessageBlock Deserialize( string name, string sdata, Map map )
        {
            byte[] bdata = Convert.FromBase64String( sdata );
            MessageBlock MessageBlock = new MessageBlock();
            DataContractSerializer serializer = new DataContractSerializer( typeof( SerializedData ) );
            System.IO.MemoryStream s = new System.IO.MemoryStream( bdata );
            SerializedData data = ( SerializedData )serializer.ReadObject( s );

            data.UpdateMessageBlock( MessageBlock );
            return MessageBlock;
        }

Usage Example

Example #1
0
 public void Deserialize(string group, string key, string value, Map map)
 {
     try
     {
         MessageBlock MessageBlock = MessageBlock.Deserialize(key, value, map);
         if (map.MessageBlocks == null)
         {
             map.MessageBlocks = new ArrayList();
         }
         if (map.MessageBlocks.Count >= 1)
         {
             if (map.MessageBlocks.Contains(key))
             {
                 Logger.Log(LogType.Error,
                            "Map loading warning: duplicate MessageBlock name found: " + key + ", ignored");
                 return;
             }
         }
         map.MessageBlocks.Add(MessageBlock);
     }
     catch (Exception ex)
     {
         Logger.Log(LogType.Error, "MessageBlock.Deserialize: Error deserializing MessageBlock {0}: {1}", key, ex);
     }
 }