Beispiel #1
0
        public ObjectTypeWriter(InitializationContext context)
        {
            var builder    = new StringBuilder();
            var properties = new List <PropertyDefinition> ();

            builder.Append(context.AsMember ? "<o" : "<O");
            foreach (var getter in Helpers.GetterCollection.FromType(context.Type))
            {
                var writer = TypeWriterFactory.CreateInstance(new InitializationContext(context, getter.PropertyType)
                {
                    AsMember = true
                });

                builder.Append(getter.Name);
                builder.Append(writer.Definition);
                properties.Add(new PropertyDefinition
                {
                    TypeWriter = writer,
                    Getter     = getter.Method
                });
            }
            builder.Append(context.AsMember ? "/o" : "/O");

            Definition = builder.ToString();
            Properties = properties.ToArray();
        }
        public void Setup()
        {
            var readerFactory = new TypeReaderFactory();
            var writerFactory = new TypeWriterFactory();
            var loader = new ResourceLoader();
            loader.AddImportersAndProcessors(typeof(IImporter).Assembly);

            manager = new ResourceContext(null, readerFactory, writerFactory, loader, Environment.CurrentDirectory + "\\Assets", Environment.CurrentDirectory);
        }
Beispiel #3
0
        public void Setup()
        {
            var readerFactory = new TypeReaderFactory();
            var writerFactory = new TypeWriterFactory();
            var loader        = new ResourceLoader();

            loader.AddImportersAndProcessors(typeof(IImporter).Assembly);

            manager = new ResourceContext(null, readerFactory, writerFactory, loader, Environment.CurrentDirectory + "\\Assets", Environment.CurrentDirectory);
        }
Beispiel #4
0
        public ArrayTypeWriter(InitializationContext context)
        {
            Type elementType = context.Type.IsArray ? context.Type.GetElementType() : context.Type.GetGenericArguments() [0];

            ValueTypeWriter = TypeWriterFactory.CreateInstance(new InitializationContext(context, elementType)
            {
                AsMember = false
            });

            Definition = (context.AsMember ? "<a" : "<A")
                         + ValueTypeWriter.Definition
                         + (context.AsMember ? "/a" : "/A");
        }
Beispiel #5
0
        public DictionaryTypeWriter(InitializationContext context)
        {
            KeyTypeWriter = TypeWriterFactory.CreateInstance(new InitializationContext(context, context.Type.GetGenericArguments() [0])
            {
                AsMember = true
            });
            ValueTypeWriter = TypeWriterFactory.CreateInstance(new InitializationContext(context, context.Type.GetGenericArguments()[1])
            {
                AsMember = true
            });

            Definition = (context.AsMember ? "<d" : "<D")
                         + "k" + KeyTypeWriter.Definition
                         + "v" + ValueTypeWriter.Definition
                         + (context.AsMember ? "/d" : "/D");
        }
        public void CanSerializeAndDeserializeFSM()
        {
            fsm.AddState("Test");
            var state = fsm.AddState("Foo");
            state.AddTransition("BAR", "Test");

            fsm.AddVariable("some_int", 2);
            fsm.AddVariable("some_string", "Hell0");

            var stream = new MemoryStream();

            var wfactory = new TypeWriterFactory();
            var rfactory = new TypeReaderFactory();

            AssetWriter.WriteAsset(stream, fsm, wfactory);

            stream.Position = 0;
            var result = AssetReader.ReadAsset<FSMComponent>(stream, rfactory);
        }
Beispiel #7
0
        public void CanSerializeAndDeserializeFSM()
        {
            fsm.AddState("Test");
            var state = fsm.AddState("Foo");

            state.AddTransition("BAR", "Test");

            fsm.AddVariable("some_int", 2);
            fsm.AddVariable("some_string", "Hell0");


            var stream = new MemoryStream();

            var wfactory = new TypeWriterFactory();
            var rfactory = new TypeReaderFactory();

            AssetWriter.WriteAsset(stream, fsm, wfactory);

            stream.Position = 0;
            var result = AssetReader.ReadAsset <FSMComponent>(stream, rfactory);
        }
 private ITypeWriterFactory CreateTypeWriterFactory()
 {
     var factory = new TypeWriterFactory();
     return factory;
 }
        private ITypeWriterFactory CreateTypeWriterFactory()
        {
            var factory = new TypeWriterFactory();

            return(factory);
        }
Beispiel #10
0
 public void Setup()
 {
     this.provider = new TypeWriterFactory();
 }
 public void Setup()
 {
     this.provider = new TypeWriterFactory();
 }