diff --git a/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.csprojAssemblyReference.cache b/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.csprojAssemblyReference.cache index 5215224ff4bcc196869190853a02c477f2e9a7e7..8649e1b916718b52224f7f0e640fe0c02d5dc482 GIT binary patch literal 5868 zc%0Q(Yitx%6rS1lw52WY^4{{2hIY0K-9D5GwNTp7_d*LoS?=!M?GByCGBev+eu#-C zMia$=kU*j_G57-`6652S1`_0-CK5{|(L@ss)sQGZ#Spz`I5=GU98){rM!%rFP-T-O?BqTa)#hGqFrlCK^r0>d|K82WQpx zKH`&#iiNm}R18*3hU2mJ&AWU?MOg4WPN{@~!geAhtD+>2fi>eL!Uy8MrU7D5(k-EM z2TG}u9Mt0}C3M>*A%|ovhrl?_9mPI!Qwa>J2Bx5-B$?dRP|FGGkell!qX|wN)vzmEekPz=X~2~(uU&6m zAloOU0C;6U->QtZ`q_KxRNEJDms zK4}ot&5Peoo&7GP)!tNr(I)cm)dF9>e{k(uw6|L*}WsN0nWpRIuV9hz`XHi4rs1XkMN{btp^(X4Zp<&dx3UHAx5LSG)5S`7ot7&m^b@GNc}a?owbe@V}xE zSR-_ire=s~0;6USEtVLrnq&B~IEF2z;s!u2(QO4+D+_d=250wLA!aMsYy;6|Vf%%d z?dQd8x09jg9*#?7cYvo=1+pDPR?O<#n4MtQ38Krw_)|0EPl_3LlVNZcm`k*Kz+JdN zyO+p-{zUhIz8}PZh3y41+YgG_?j}Q*tIzEo@KRkMIYea0Xfc^#u-FS?pM~aoW}4@U zX&xZME(66Sq9fpEb%E$XBFl@rRwe;|;-M7tj-zuh?Cc{86*5i<#b$$R34Bplh zNM}q{0gfqV6pXSUI1A&`X2z$A8S|9uEf0_oz}4CUUD34Bj3%3rz%U2mh=ua&X3DP> zQ&vqI%>Z+Wb{=@b0Ss>z9-R^8)5i)pmEr94e0KD}(2|B9U-8wL9v+~NrCG=6Xi6@EEsM>&)todQW=$nrvDL)e%I zsSmBwv%-uU`HwiRO#SSYq2Yk9F_{<_4d-i}1-i)*y4eEV;so7l3%%75dYc8h%?Wyk zE%Z)D=uQiCmlJf4Ep(qFbiW09zzKSfE%dM>^j-_}J}2lATWBcU?`Y7Z`1oF+s5i-% z061C;MWZbWKs5OaesgE|%7q($yvx3HzT(2&IloTdJ$&o<%YS*t`4_v-oLKqMQ#a4v znEL+m4`;76&ad{oQ7Uiw^MzB#uKYAndHiZ{qOWFpQ~8PC{I`CduD*2c_vzc|1KnjO zFTa0g!$`9BJg!}F=X$F;BGvtJ`}u<(R$MvVx_pT7U&~R(0My(KYVzUN&q##Dn&{lm&WoS UR*^i4wfEHy@-95{%LZNg53T$R0{{R3 diff --git a/isometric-park-fna/FNAGame.cs b/isometric-park-fna/FNAGame.cs --- a/isometric-park-fna/FNAGame.cs +++ b/isometric-park-fna/FNAGame.cs @@ -16,12 +16,13 @@ using isometricparkfna.Utils; using isometricparkfna.UI; - +using Newtonsoft.Json.Serialization; using ImGuiNET.SampleProgram.XNA; using ImGuiNET; using TraceryNet; +using Newtonsoft.Json; class FNAGame : Game { @@ -420,21 +421,40 @@ this.simulation.update(gameTime.ElapsedGameTime); -#if DEBUG + #if DEBUG - if (keyboardCur.IsKeyDown(Keys.S) && keyboardPrev.IsKeyUp(Keys.S)) + if (keyboardCur.IsKeyDown(Keys.S) && keyboardPrev.IsKeyUp(Keys.S)) { System.Runtime.Serialization.IFormatter formatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); Stream stream = new FileStream("MyFile.bin", FileMode.Create, FileAccess.Write, FileShare.None); formatter.Serialize(stream, this.simulation); - stream.Close(); + stream.Close(); + + + // JsonSerializer serializer = new JsonSerializer(); + // StreamWriter jsonstream = new StreamWriter("MyFile.json"); + // JsonWriter writer = new JsonTextWriter(jsonstream); + // serializer.Serialize(writer, this.simulation); + + // File.WriteAllText(@"MyFile.json", JsonConvert.SerializeObject(this.simulation)); + } if (keyboardCur.IsKeyDown(Keys.L) && keyboardPrev.IsKeyUp(Keys.L)) { - System.Runtime.Serialization.IFormatter formatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); - Stream stream = new FileStream("MyFile.bin", FileMode.Open, FileAccess.Read); - this.simulation = (Simulation)formatter.Deserialize(stream); + System.Runtime.Serialization.IFormatter formatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); + Stream stream = new FileStream("MyFile.bin", FileMode.Open, FileAccess.Read); + this.simulation = (Simulation)formatter.Deserialize(stream); + + this.simulation.initializeRandom(); + stream.Close(); + + + // StreamReader loadedFile = new StreamReader(new FileStream("MyFile.json", FileMode.Open, FileAccess.Read)); + // JsonReader reader = new JsonTextReader(new StreamReader(new FileStream("MyFile.json", FileMode.Open, FileAccess.Read))); + // var serializer = new JsonSerializer(); + // this.simulation = serializer.Deserialize(reader); + // reader.Close(); } #endif diff --git a/isometric-park-fna/Simulation.cs b/isometric-park-fna/Simulation.cs --- a/isometric-park-fna/Simulation.cs +++ b/isometric-park-fna/Simulation.cs @@ -141,7 +141,6 @@ public bool paused; - [NonSerialized] private Random random; @@ -340,5 +339,9 @@ } + + public void initializeRandom() { + this.random = new Random(); + } } }