/// <summary>
 /// Deserializes the into.
 /// </summary>
 /// <param name="input">Input.</param>
 /// <param name="value">Value.</param>
 /// <param name="settings">Settings.</param>
 public virtual void DeserializeInto(Stream input, object value, SaveGameSettings settings)
 {
     using (BinaryObjectReader reader = new BinaryObjectReader(input, settings))
     {
         (reader as ISaveGameReader).ReadInto(value);
     }
 }
 /// <summary>
 /// Deserialize the specified input, type and settings.
 /// </summary>
 /// <param name="input">Input.</param>
 /// <param name="type">Type.</param>
 /// <param name="settings">Settings.</param>
 public virtual object Deserialize(Stream input, Type type, SaveGameSettings settings)
 {
     using (BinaryObjectReader reader = new BinaryObjectReader(input, settings))
     {
         return(reader.Read(type));
     }
 }