Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Objects added to the <code>State</code> collection are serialized with the DataContractSerializer. Ensure that anything you're saving there can be serialized that way.<br> Any serialization errors are silently ignored.</p> <p><strong>Update</strong></p> <p>Here's a simplified version of your Sprite object: </p> <pre><code>[DataContract] public class Sprite { [DataMember] public Vector2 Position; [DataMember] public Vector2 Size; [DataMember] public Texture2D Texture; public Sprite() { } public Sprite(Vector2 position) { Position = position; } public Sprite(Vector2 position, Vector2 size) { Position = position; Size = size; } public Sprite(Vector2 position, Texture2D texture) { Position = position; Texture = texture; Size = new Vector2(Texture.Width, Texture.Height); } } </code></pre> <p>And here's an example of it being serialized and deserialized:</p> <p>// Sprite serialization test var sprite1 = new Sprite(new Vector2(12.34f, 56.78f));</p> <pre><code>Sprite sprite2; using (var memStr = new MemoryStream()) { var serializer = new DataContractSerializer(typeof(Sprite)); serializer.WriteObject(memStr, sprite1); memStr.Position = 0; var sr = new StreamReader(memStr); var serialized = sr.ReadToEnd(); // serialized now looks like // &lt;Sprite xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/MiscExperiments"&gt;&lt;Position xmlns:d2p1="http://schemas.datacontract.org/2004/07/Microsoft.Xna.Framework"&gt;&lt;d2p1:X&gt;12.34&lt;/d2p1:X&gt;&lt;d2p1:Y&gt;56.78&lt;/d2p1:Y&gt;&lt;/Position&gt;&lt;Size xmlns:d2p1="http://schemas.datacontract.org/2004/07/Microsoft.Xna.Framework"&gt;&lt;d2p1:X&gt;0&lt;/d2p1:X&gt;&lt;d2p1:Y&gt;0&lt;/d2p1:Y&gt;&lt;/Size&gt;&lt;Texture xmlns:d2p1="http://schemas.datacontract.org/2004/07/Microsoft.Xna.Framework.Graphics" i:nil="true" /&gt;&lt;/Sprite&gt; memStr.Position = 0; sprite2 = (Sprite)serializer.ReadObject(memStr); // sprite2 now contains the same as // sprite2.Position = { X:12.34, Y:56.78 } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload