Skip to content

Commit 485d1ae

Browse files
committed
Fixed warns and tribes order
1 parent 247fb19 commit 485d1ae

2 files changed

Lines changed: 16 additions & 1 deletion

File tree

PolyMod.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@
1717
<Description>The Battle of Polytopia's mod loader.</Description>
1818
<NoWarn>IDE0130</NoWarn>
1919
<NoWarn>NU5104</NoWarn>
20+
<NoWarn>$(NoWarn);NU1902</NoWarn>
21+
<NoWarn>$(NoWarn);NU1903</NoWarn>
22+
<NoWarn>$(NoWarn);NU1904</NoWarn>
2023
</PropertyGroup>
2124

2225
<ItemGroup>

src/Loader.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ internal record TypeMapping(Type type, bool shouldCreateCache = true);
6161
{
6262
if (duringEnumCacheCreation)
6363
{
64-
Registry.customTribes.Add((TribeType)Registry.autoidx);
64+
Registry.customTribes.Add((TribeType)(int)token["idx"]);
6565
token["style"] = Registry.climateAutoidx;
6666
token["climate"] = Registry.climateAutoidx;
6767
Registry.climateAutoidx++;
@@ -912,6 +912,7 @@ internal static void ProcessGameLogicData(GameLogicData gameLogicData, JObject r
912912
try
913913
{
914914
CreateMappings(rootObject);
915+
ProcessCustomTribes();
915916
ProcessPrefabs();
916917
ProcessEmbarkOverrides();
917918
ProcessAttractOverrides();
@@ -922,6 +923,17 @@ internal static void ProcessGameLogicData(GameLogicData gameLogicData, JObject r
922923
}
923924
}
924925

926+
internal static void ProcessCustomTribes()
927+
{
928+
foreach (var tribe in Registry.customTribes)
929+
{
930+
if(!GameLogicData.legacyTribeTypesOrder.Contains(tribe))
931+
{
932+
GameLogicData.legacyTribeTypesOrder.Add(tribe);
933+
}
934+
}
935+
}
936+
925937
/// <summary>
926938
/// Creates EnumCache mappings for custom enum values and invokes type handlers.
927939
/// </summary>

0 commit comments

Comments
 (0)