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(), }; }
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(); } }
public AttributeTrwHandlerFamily(ITrwAttributeObjectCreator objectCreator) { this.objectCreator = objectCreator; }