소스 검색

Fix issues when navigating from online mode to solo mode.

Halsafar 4 년 전
부모
커밋
7f68ae1e8a
2개의 변경된 파일6개의 추가작업 그리고 4개의 파일을 삭제
  1. 4 2
      SongBrowserPlugin/UI/Browser/BeatSaberUIController.cs
  2. 2 2
      SongBrowserPlugin/UI/Browser/SongBrowserUI.cs

+ 4 - 2
SongBrowserPlugin/UI/Browser/BeatSaberUIController.cs

@@ -60,7 +60,6 @@ namespace SongBrowser.DataAccess
             LevelSelectionNavigationController = LevelSelectionFlowCoordinator.GetPrivateField<LevelSelectionNavigationController>("levelSelectionNavigationController");
             Logger.Debug("Acquired LevelSelectionNavigationController [{0}]", LevelSelectionNavigationController.GetInstanceID());
 
-            //LevelFilteringNavigationController = Resources.FindObjectsOfTypeAll<LevelFilteringNavigationController>().First();
             LevelFilteringNavigationController = LevelSelectionNavigationController.GetPrivateField<LevelFilteringNavigationController>("_levelFilteringNavigationController");
             Logger.Debug("Acquired LevelFilteringNavigationController [{0}]", LevelFilteringNavigationController.GetInstanceID());
 
@@ -89,6 +88,7 @@ namespace SongBrowser.DataAccess
             Logger.Debug("Acquired TableViewRectTransform from LevelPackLevelsTableView [{0}]", LevelCollectionTableViewTransform.GetInstanceID());
 
             AnnotatedBeatmapLevelCollectionsViewController = LevelFilteringNavigationController.GetPrivateField<AnnotatedBeatmapLevelCollectionsViewController>("_annotatedBeatmapLevelCollectionsViewController");
+            Logger.Debug("Acquired AnnotatedBeatmapLevelCollectionsViewController from LevelFilteringNavigationController [{0}]", AnnotatedBeatmapLevelCollectionsViewController.GetInstanceID());
 
             TableView tableView = LevelCollectionTableView.GetPrivateField<TableView>("_tableView");
             TableViewPageUpButton = tableView.GetPrivateField<Button>("_pageUpButton");
@@ -160,7 +160,9 @@ namespace SongBrowser.DataAccess
             IAnnotatedBeatmapLevelCollection levelCollection = null;
 
             // search level packs
-            foreach (IBeatmapLevelPack o in this.LevelFilteringNavigationController.GetPrivateField<IBeatmapLevelPack[]>("_allBeatmapLevelPacks"))
+            BeatmapLevelPackCollectionSO beatMapLevelPackCollection = Resources.FindObjectsOfTypeAll<BeatmapLevelPackCollectionSO>().Last();
+            IBeatmapLevelPack[] levelPacks = beatMapLevelPackCollection.GetPrivateField<IBeatmapLevelPack[]>("_allBeatmapLevelPacks");
+            foreach (IBeatmapLevelPack o in levelPacks)
             {
                 if (String.Equals(o.collectionName, levelCollectionName))
                 {

+ 2 - 2
SongBrowserPlugin/UI/Browser/SongBrowserUI.cs

@@ -103,12 +103,12 @@ namespace SongBrowser.UI
             if (mode == MainMenuViewController.MenuButton.SoloFreePlay)
             {
                 Logger.Debug("Entering SOLO mode...");
-                flowCoordinator = Resources.FindObjectsOfTypeAll<SoloFreePlayFlowCoordinator>().First();
+                flowCoordinator = Resources.FindObjectsOfTypeAll<SoloFreePlayFlowCoordinator>().Last();
             }
             else if (mode == MainMenuViewController.MenuButton.Party)
             {
                 Logger.Debug("Entering PARTY mode...");
-                flowCoordinator = Resources.FindObjectsOfTypeAll<PartyFreePlayFlowCoordinator>().First();
+                flowCoordinator = Resources.FindObjectsOfTypeAll<PartyFreePlayFlowCoordinator>().Last();
             }
             else
             {