@@ -20,16 +20,19 @@ public static class ChallengeManager
2020
2121 public static event Action < List < AscensionChallengeInfo > > ModifyAscensionChallengeList ;
2222
23- private static bool _hasLoaded = false ;
24-
25- public static List < AscensionChallengeInfo > AllInfo
23+ static ChallengeManager ( )
2624 {
27- get
25+ InscryptionAPIPlugin . ScriptableObjectLoaderLoad += static type =>
2826 {
29- return BaseGameChallenges . Concat ( newInfos ) . ToList ( ) ;
30- }
27+ if ( type == typeof ( AscensionChallengeInfo ) )
28+ {
29+ ScriptableObjectLoader < AscensionChallengeInfo > . allData = AllInfo ;
30+ }
31+ } ;
3132 }
3233
34+ public static List < AscensionChallengeInfo > AllInfo = BaseGameChallenges . ToList ( ) ;
35+
3336 public static bool IsStackable ( AscensionChallenge id )
3437 {
3538 return stackableMap . ContainsKey ( id ) ? stackableMap [ id ] : false ;
@@ -42,12 +45,12 @@ public static AscensionChallengeInfo Add(string pluginGuid, AscensionChallengeIn
4245 newInfos . Add ( info ) ;
4346
4447 ModifyAscensionChallengeList ? . Invoke ( newInfos ) ;
48+ newInfos . Sort ( ( a , b ) => unlockLevelMap [ a . challengeType ] - unlockLevelMap [ b . challengeType ] ) ;
49+ AllInfo = BaseGameChallenges . Concat ( newInfos ) . ToList ( ) ;
4550
4651 stackableMap . Add ( info . challengeType , stackable ) ;
4752 unlockLevelMap . Add ( info . challengeType , unlockLevel ) ;
4853
49- _hasLoaded = false ; // Force a reload in case something happened out of the expected order
50-
5154 return info ;
5255 }
5356
@@ -77,18 +80,6 @@ public static AscensionChallengeInfo Add(
7780 return Add ( pluginGuid , info , unlockLevel , stackable ) ;
7881 }
7982
80- [ HarmonyPatch ( typeof ( AscensionChallengesUtil ) , "GetInfo" ) ]
81- [ HarmonyPrefix ]
82- private static void CardLoadPrefix ( )
83- {
84- if ( ! _hasLoaded )
85- {
86- // Sort the new challenges in order of unlocks
87- newInfos . Sort ( ( a , b ) => unlockLevelMap [ a . challengeType ] - unlockLevelMap [ b . challengeType ] ) ;
88- ScriptableObjectLoader < AscensionChallengeInfo > . allData = AllInfo ;
89- }
90- }
91-
9283 [ HarmonyPatch ( typeof ( AscensionUnlockSchedule ) , "ChallengeIsUnlockedForLevel" ) ]
9384 [ HarmonyPostfix ]
9485 public static void IsCustomChallengeUnlocked ( ref bool __result , int level , AscensionChallenge challenge )
0 commit comments