Exemplo n.º 1
0
        public CommonSerializationNecessitiesProvider(ITrwAttributeObjectCreator objectCreator)
        {
            SerializationTypes = new[]
            {
                SaveLoadConstants.BasicSerializationType,
                SaveLoadConstants.WorldSerializationType
            };

            Families = new ITrwSerializationHandlerFamily[]
            {
                new ArrayTrwHandlerFamily(),
                new ListTrwHandlerFamily(),
                new AttributeTrwHandlerFamily(objectCreator),
                new BasicTrwHandlerFamily(),
                new CommonTrwHandlerFamily(),
                new NumericalsTrwHandlerFamily(),
                new NullableTrwHandlerFamily(),
                new PairTrwHandlerFamily(),
                new StringDictionaryTrwHandlerFamily(),
                new PropertyBagTrwHandlerFamily(),
            };

            TypeRedirects = new ITrwSerializationTypeRedirect[]
            {
                new RuntimeTypeTrwTypeRedirect(),
            };
        }
Exemplo n.º 2
0
        public AttributeTrwHandler(ITrwAttributeObjectCreator objectCreator)
        {
            createObj = objectCreator.GetConstructor <T>();

            fields = typeof(T).GetFields(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance)
                     .Where(x => x.GetCustomAttribute <TrwSerializeAttribute>() != null)
                     .ToArray();

            properties = typeof(T).GetProperties(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance)
                         .Where(x => x.GetCustomAttribute <TrwSerializeAttribute>() != null && x.GetMethod != null && x.SetMethod != null)
                         .ToArray();

            if (!fields.Any() && !properties.Any())
            {
                fields = typeof(T).GetFields(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance)
                         .ToArray();

                properties = typeof(T).GetProperties(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance)
                             .Where(x => x.GetMethod != null && x.SetMethod != null)
                             .ToArray();
            }
        }
Exemplo n.º 3
0
 public AttributeTrwHandlerFamily(ITrwAttributeObjectCreator objectCreator)
 {
     this.objectCreator = objectCreator;
 }