public static void RegisterAllBuildings(Assembly assembly, Db db) { var buildingConfigs = ListBuildingConfigs(assembly); foreach (var buildingConfig in buildingConfigs) { try { VLogger.Log($"Registering building {buildingConfig.id} in Plan '{buildingConfig.planName}'"); ModUtil.AddBuildingToPlanScreen(buildingConfig.planName, buildingConfig.id); VLogger.Log($"Registering building {buildingConfig.id} in Tech '{buildingConfig.techId}'"); BuildingUtils.AddTech(db, buildingConfig.techId, buildingConfig.id); VLogger.Log($"Registering building {buildingConfig.id} in Strings"); var id = buildingConfig.id; var name = buildingConfig.name; var desc = buildingConfig.desc; var effect = buildingConfig.effect; var prefix = $"STRINGS.BUILDINGS.PREFABS.{id.ToUpperInvariant()}."; if (name != null) { Strings.Add($"{prefix}NAME", name); } if (desc != null) { Strings.Add($"{prefix}DESC", desc); } if (effect != null) { Strings.Add($"{prefix}EFFECT", effect); } } catch (Exception ex) { DebugUtil.LogException(null, $"Exception while registering building {buildingConfig.id}", ex); } } }