예제 #1
0
        public SpecflowStepsDefinitionsCacheEntries Unmarshal(UnsafeReader reader)
        {
            var entries    = new SpecflowStepsDefinitionsCacheEntries();
            var classCount = reader.ReadInt();

            for (var i = 0; i < classCount; i++)
            {
                var className = reader.ReadString();
                var hasSpecflowBindingAttribute = reader.ReadBool();
                var cacheClassEntry             = new SpecflowStepDefinitionCacheClassEntry(className, hasSpecflowBindingAttribute);

                var methodCount = reader.ReadInt();
                for (var j = 0; j < methodCount; j++)
                {
                    var methodName       = reader.ReadString();
                    var methodCacheEntry = cacheClassEntry.AddMethod(methodName);
                    var stepCount        = reader.ReadInt();
                    for (var k = 0; k < stepCount; k++)
                    {
                        var type    = reader.ReadInt();
                        var pattern = reader.ReadString();

                        methodCacheEntry.AddStep((GherkinStepKind)type, pattern);
                    }
                }

                entries.Add(cacheClassEntry);
            }
            return(entries);
        }
예제 #2
0
        public T ReadValue(SerializationCtx context, UnsafeReader reader)
        {
            var hasValue = reader.ReadBool();

            if (!hasValue)
            {
                return(default);
예제 #3
0
 private static ComponentHierarchyElement Read(UnsafeReader reader)
 {
     return(new ComponentHierarchyElement(
                FileID.ReadFrom(reader),
                FileID.ReadFrom(reader),
                FileID.ReadFrom(reader),
                FileID.ReadFrom(reader),
                reader.ReadBool()));
 }
예제 #4
0
 private static GameObjectHierarchyElement Read(UnsafeReader reader)
 {
     return(new GameObjectHierarchyElement(
                FileID.ReadFrom(reader),
                FileID.ReadFrom(reader),
                FileID.ReadFrom(reader),
                reader.ReadBool(),
                FileID.ReadFrom(reader),
                reader.ReadString()));
 }
예제 #5
0
        public static RdProperty <T> Read(SerializationCtx ctx, UnsafeReader reader, CtxReadDelegate <T> readValue, CtxWriteDelegate <T> writeValue)
        {
            var id  = reader.ReadRdId();
            var res = new RdProperty <T>(readValue, writeValue).WithId(id);

            if (reader.ReadBool())
            {
                res.myProperty.Value = readValue(ctx, reader);
            }
            return(res);
        }
예제 #6
0
 private static TransformHierarchyElement Read(UnsafeReader reader)
 {
     return(new TransformHierarchyElement(
                FileID.ReadFrom(reader),
                FileID.ReadFrom(reader),
                FileID.ReadFrom(reader),
                reader.ReadBool(),
                reader.ReadInt32(),
                FileID.ReadFrom(reader),
                FileID.ReadFrom(reader)));
 }
예제 #7
0
        public T ReadValue(SerializationCtx context, UnsafeReader reader)
        {
            var id = InternId.Read(reader);

            if (!id.IsValid)
            {
                var hasValue = reader.ReadBool();
                if (hasValue)
                {
                    return(Context.ReadDelegate(context, reader));
                }
                return(default);
예제 #8
0
        private static object Read(UnsafeReader reader)
        {
            var target = HierarchyReferenceUtil.ReadReferenceFrom(reader);
            var path   = reader.ReadString();
            var value  = reader.ReadPolymorphic <IAssetValue>();
            var range  = new TextRange(reader.ReadInt(), reader.ReadInt());
            IHierarchyReference objectReference = null;

            if (reader.ReadBool())
            {
                objectReference = HierarchyReferenceUtil.ReadReferenceFrom(reader);
            }
            return(new PrefabModification(target, path, value, range, objectReference));
        }
예제 #9
0
 private static ModificationHierarchyElement Read(UnsafeReader reader)
 {
     return(new ModificationHierarchyElement(
                FileID.ReadFrom(reader),
                FileID.ReadFrom(reader),
                FileID.ReadFrom(reader),
                reader.ReadBool(),
                FileID.ReadFrom(reader),
                ReadDictionary(reader, unsafeReader =>
     {
         if (unsafeReader.ReadNullness())
         {
             return (int?)unsafeReader.ReadInt32();
         }
         return null;
     }),
                ReadDictionary(reader, unsafeReader => unsafeReader.ReadString())
                ));
 }
예제 #10
0
            private static BinaryFileCacheItem Read(UnsafeReader reader)
            {
                var flag = reader.ReadBool();

                return(new BinaryFileCacheItem(flag));
            }
예제 #11
0
 private static object Read(UnsafeReader reader) => new ComponentHierarchy(reader.ReadString(), reader.ReadPolymorphic <LocalReference>(), reader.ReadPolymorphic <LocalReference>(),
                                                                           reader.ReadPolymorphic <LocalReference>(), reader.ReadPolymorphic <ExternalReference>(), reader.ReadBool());
 private static object Read(UnsafeReader reader) => new TransformHierarchy(reader.ReadPolymorphic <LocalReference>(), reader.ReadPolymorphic <LocalReference>(),
                                                                           reader.ReadPolymorphic <LocalReference>(), reader.ReadInt32(), reader.ReadPolymorphic <LocalReference>(),
                                                                           reader.ReadPolymorphic <ExternalReference>(), reader.ReadBool());