public PropertyOperationEvent(EntityMod source, ContentImportLog log, EntityData target, string[] prop) { Source = source; Target = target; Log = log; Property = prop[0]; Operation = prop[1]; }
public override bool TryImportProperty <T>(T entity, CachedFucineProperty <T> prop, EntityData entityData, ContentImportLog log) { var name = entityData.ValuesTable[prop.LowerCaseName]; if (name == null) { return(false); } var sprite = ResourcesManager.GetSprite(_folder, name.ToString(), false); prop.SetViaFastInvoke(entity, sprite); return(true); }
public override bool TryImportProperty <T>( T entity, CachedFucineProperty <T> prop, EntityData entityData, ContentImportLog log) { var propertyType = prop.ThisPropInfo.PropertyType; if (!(entityData.ValuesTable[prop.LowerCaseName] is EntityData subEntityData)) { prop.SetViaFastInvoke(entity, FactoryInstantiator.CreateObjectWithDefaultConstructor(propertyType)); return(false); } var entityType = propertyType.GetGenericArguments()[1]; if (!(FactoryInstantiator.CreateObjectWithDefaultConstructor(propertyType) is IDictionary target)) { return(false); } foreach (var k in subEntityData.ValuesTable.Keys) { var kk = k.ToString().ToLower(); var data = subEntityData.ValuesTable[kk]; if (entityType.GetInterfaces().Contains(typeof(IQuickSpecEntity)) && data is string qs) { if (!(FactoryInstantiator.CreateObjectWithDefaultConstructor(entityType) is IQuickSpecEntity defaultConstructor)) { return(false); } defaultConstructor.QuickSpec(qs); target[kk] = defaultConstructor; } else { var ent = FactoryInstantiator.CreateEntity(entityType, data as EntityData, log); target[kk] = ent; } } prop.SetViaFastInvoke(entity, target); return(true); }
public TypeRegistry(ICompendium compendium, string culture, ContentImportLog log, Dictionary <string, EntityTypeDataLoader> loaders, List <Type> types) : base(compendium, culture, log) { Loaders = loaders; Types = types; }
public Post(ICompendium compendium, string culture, ContentImportLog log, List <DataFileLoader> content, List <DataFileLoader> loc) : base(compendium, culture, log, content, loc) { }
public ModIndexing(ICompendium compendium, string culture, ContentImportLog log, List <DataFileLoader> content, List <DataFileLoader> loc) : base(compendium, culture, log) { Content = content; Loc = loc; }
public Begin(ICompendium compendium, string culture, ContentImportLog log) : base(compendium, culture, log) { }
public CompendiumEvent(ICompendium compendium, string culture, ContentImportLog log) { Compendium = compendium; Culture = culture; Log = log; }
public Post(ICompendium compendium, string culture, ContentImportLog log, Dictionary <string, EntityTypeDataLoader> loaders, List <Type> types) : base(compendium, culture, log, loaders, types) { }
protected override void OnPostImportForSpecificEntity(ContentImportLog log, ICompendium populatedCompendium) { }
public Location(EntityData importDataForEntity, ContentImportLog log) : base(importDataForEntity, log) { }
private static void Postfix(ICompendium compendiumToPopulate, string forCultureId, ContentImportLog ____log) { GreatWorkAPI.Events.FireEvent(new CompendiumEvent.End(compendiumToPopulate, forCultureId, ____log)); }
private static bool Prefix(ICompendium compendiumToPopulate, string forCultureId, ContentImportLog ____log) { GreatWorkAPI.Events.FireEvent(new CompendiumEvent.Begin(compendiumToPopulate, forCultureId, ____log)); return(true); }
public Door(EntityData importDataForEntity, ContentImportLog log) : base(importDataForEntity, log) { }