public FlyScene Load() { try { string fullPath = Path.Combine(SaveFolder, "test.flys"); using (var stream = File.OpenRead(fullPath)) { var context = new BinaryDeserializationContext(stream); return(Load(context)); } } catch (Exception ex) { Console.WriteLine(ex.Message); return(null); } }
private FlyScene Load(BinaryDeserializationContext context) { context.ReadDefaultHeader(this.GetType()); Point2 halfSize; halfSize.X = context.ReadInt32(); halfSize.Y = context.ReadInt32(); FlyScene scene = new FlyScene(halfSize); int entityCount = context.ReadInt32(); for (int i = 0; i < entityCount; ++i) { var entity = context.ReadObject <FlyEntity>(); scene.AddEntity(entity); } return(scene); }
public T[,] Deserialize(BinaryDeserializationContext <T[, ]> context) { var xLength = context.Reader->ReadNext <int>(); if (xLength == -1) { return(null); } var yLength = context.Reader->ReadNext <int>(); var value = new T[xLength, yLength]; for (var x = 0; x < xLength; x++) { for (var y = 0; y < yLength; y++) { value[x, y] = context.DeserializeValue <T>(); } } return(value); }
ClassWithAdapters IBinaryAdapter <ClassWithAdapters> .Deserialize(BinaryDeserializationContext <ClassWithAdapters> context) { return(new ClassWithAdapters { A = -context.Reader->ReadNext <int>() });
public DummyClass Deserialize(BinaryDeserializationContext <DummyClass> context) { return(null); }
public Cat Deserialize(BinaryDeserializationContext <Cat> context) { return(null); }
FileInfo IBinaryAdapter <FileInfo> .Deserialize(BinaryDeserializationContext <FileInfo> context) { context.Reader->ReadNext(out string str); return(str.Equals("null") ? null : new FileInfo(str)); }
UnityEditor.GUID IBinaryAdapter <UnityEditor.GUID> .Deserialize(BinaryDeserializationContext <UnityEditor.GUID> context) { context.Reader->ReadNext(out string str); return(UnityEditor.GUID.TryParse(str, out var value) ? value : default);
char IBinaryAdapter <char> .Deserialize(BinaryDeserializationContext <char> context) => context.Reader->ReadNext <char>();
string IBinaryAdapter <string> .Deserialize(BinaryDeserializationContext <string> context) { context.Reader->ReadNext(out string value); return(value); }
bool IBinaryAdapter <bool> .Deserialize(BinaryDeserializationContext <bool> context) => context.Reader->ReadNext <byte>() == 1;
double IBinaryAdapter <double> .Deserialize(BinaryDeserializationContext <double> context) => context.Reader->ReadNext <double>();
float IBinaryAdapter <float> .Deserialize(BinaryDeserializationContext <float> context) => context.Reader->ReadNext <float>();
ulong IBinaryAdapter <ulong> .Deserialize(BinaryDeserializationContext <ulong> context) => context.Reader->ReadNext <ulong>();
Guid IBinaryAdapter <Guid> .Deserialize(BinaryDeserializationContext <Guid> context) { context.Reader->ReadNext(out string str); return(Guid.TryParseExact(str, "N", out var value) ? value : default);