Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
            }
Exemple #4
0
 ClassWithAdapters IBinaryAdapter <ClassWithAdapters> .Deserialize(BinaryDeserializationContext <ClassWithAdapters> context)
 {
     return(new ClassWithAdapters
     {
         A = -context.Reader->ReadNext <int>()
     });
Exemple #5
0
 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));
 }
Exemple #8
0
 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>();
Exemple #15
0
 Guid IBinaryAdapter <Guid> .Deserialize(BinaryDeserializationContext <Guid> context)
 {
     context.Reader->ReadNext(out string str);
     return(Guid.TryParseExact(str, "N", out var value) ? value : default);