Skip to content

Commit a969a8a

Browse files
committed
Updated to last poly ver, fixed custom resources not appearing, adjusted the way unit prefabs are added to units.
1 parent 2d2b790 commit a969a8a

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

PolyMod.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
https://polymod.dev/nuget/v3/index.json;
1111
</RestoreAdditionalProjectSources>
1212
<Configurations>IL2CPP</Configurations>
13-
<Version>1.2.7</Version>
14-
<PolytopiaVersion>2.16.0.15379</PolytopiaVersion>
13+
<Version>1.2.8-pre</Version>
14+
<PolytopiaVersion>2.16.2.15384</PolytopiaVersion>
1515
<Authors>PolyModdingTeam</Authors>
1616
<Description>The Battle of Polytopia's mod loader.</Description>
1717
<NoWarn>IDE0130</NoWarn>

src/Loader.cs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,8 @@ internal record TypeMapping(Type type, bool shouldCreateCache = true);
143143
if (Enum.TryParse(prefabId, out ImprovementData.Type parsedType))
144144
improvementPrefabType = parsedType;
145145
}
146-
PrefabManager.improvements.TryAdd((ImprovementData.Type)Registry.autoidx, PrefabManager.improvements[improvementPrefabType]);
146+
if(token["idx"] != null)
147+
PrefabManager.improvements.TryAdd((ImprovementData.Type)(int)token["idx"], PrefabManager.improvements[improvementPrefabType]);
147148
}
148149
else
149150
{
@@ -173,7 +174,8 @@ internal record TypeMapping(Type type, bool shouldCreateCache = true);
173174
if (Enum.TryParse(prefabId, out ResourceData.Type parsedType))
174175
resourcePrefabType = parsedType;
175176
}
176-
PrefabManager.resources.TryAdd((ResourceData.Type)Registry.autoidx, PrefabManager.resources[resourcePrefabType]);
177+
if(token["idx"] != null)
178+
PrefabManager.resources.TryAdd((ResourceData.Type)(int)token["idx"], PrefabManager.resources[resourcePrefabType]);
177179
}
178180
}),
179181

@@ -926,13 +928,15 @@ internal static void ProcessPrefabs()
926928
else
927929
{
928930
KeyValuePair<Visual.PrefabInfo, Unit> prefabInfo = Registry.unitPrefabs.FirstOrDefault(kv => kv.Key.name == prefabId);
931+
int hashKey = PrefabManager.GetSkinnedHashKey((UnitData.Type)item.Key, TribeType.None, SkinType.Default);
929932
if (!EqualityComparer<Visual.PrefabInfo>.Default.Equals(prefabInfo.Key, default))
930933
{
931-
PrefabManager.units.TryAdd(item.Key, prefabInfo.Value);
934+
PrefabManager.units.TryAdd(hashKey, prefabInfo.Value);
932935
}
933936
else
934937
{
935-
PrefabManager.units.TryAdd(item.Key, PrefabManager.units[(int)unitPrefabType]);
938+
int existingPrefabKey = PrefabManager.GetSkinnedHashKey(unitPrefabType, TribeType.None, SkinType.Default);
939+
PrefabManager.units.TryAdd(hashKey, PrefabManager.units[existingPrefabKey]);
936940
}
937941
}
938942
}

0 commit comments

Comments
 (0)