@@ -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