public void SceneManagerOnActiveSceneChanged(Scene arg0, Scene scene) { if (isMenuScene(scene)) { try { flowCoordinator = Resources.FindObjectsOfTypeAll <MainFlowCoordinator>().FirstOrDefault(); mainMenuViewController = flowCoordinator.GetPrivateField <MainMenuViewController>("_mainMenuViewController"); //soloModeSelectionViewController = flowCoordinator.GetPrivateField<SoloModeSelectionViewController>("_soloFreePlayFlowCoordinator"); soloFreePlayFlowCoordinator = flowCoordinator.GetPrivateField <SoloFreePlayFlowCoordinator>("_soloFreePlayFlowCoordinator"); detailViewController = soloFreePlayFlowCoordinator.GetPrivateField <StandardLevelDetailViewController>("_levelDetailViewController"); gameplaySetupViewController = soloFreePlayFlowCoordinator.GetPrivateField <GameplaySetupViewController>("_gameplaySetupViewController"); practiceController = soloFreePlayFlowCoordinator.GetPrivateField <PracticeViewController>("_practiceViewController"); beatmapDifficultyViewController = soloFreePlayFlowCoordinator.GetPrivateField <BeatmapDifficultyViewController>("_beatmapDifficultyViewControllerViewController"); listViewController = soloFreePlayFlowCoordinator.GetPrivateField <LevelListViewController>("_levelListViewController"); levelListView = listViewController.GetPrivateField <LevelListTableView>("_levelListTableView"); tableView = levelListView.GetPrivateField <TableView>("_tableView"); gameScenesManager = Resources.FindObjectsOfTypeAll <GameScenesManager>().FirstOrDefault(); standardLevelReturnToMenu = Resources.FindObjectsOfTypeAll <StandardLevelReturnToMenuController>().FirstOrDefault(); } catch (Exception e) { Console.WriteLine(e); } } if (isGameScene(scene)) { if (autoPlay) { } } Console.WriteLine(scene.name); }
static TableCell Postfix(TableCell __result, LevelListTableView __instance, int row) { string levelId = __instance.GetPrivateField <IBeatmapLevel[]>("_levels")[row].levelID; levelId = levelId.Substring(0, Math.Min(32, levelId.Length)); UnityEngine.UI.Image[] images = __result.transform.GetComponentsInChildren <UnityEngine.UI.Image>(true); UnityEngine.UI.Image icon = null; if (images.Any(x => x.name == "ExtraIcon")) { icon = images.First(x => x.name == "ExtraIcon"); } else { RectTransform iconRT = new GameObject("ExtraIcon", typeof(RectTransform)).GetComponent <RectTransform>(); iconRT.SetParent(__result.transform, false); iconRT.anchorMin = new Vector2(0.95f, 0.25f); iconRT.anchorMax = new Vector2(0.95f, 0.25f); iconRT.anchoredPosition = new Vector2(0f, 0f); iconRT.sizeDelta = new Vector2(4f, 4f); icon = iconRT.gameObject.AddComponent <UnityEngine.UI.Image>(); if (noGlow == null) { noGlow = Resources.FindObjectsOfTypeAll <Material>().First(x => x.name == "UINoGlow"); } icon.material = noGlow; } if (PluginConfig.favoriteSongs.Any(x => x.StartsWith(levelId))) { icon.enabled = true; icon.sprite = Base64Sprites.StarFull; } else if (PluginConfig.votedSongs.ContainsKey(levelId)) { switch (PluginConfig.votedSongs[levelId].voteType) { case VoteType.Upvote: { icon.enabled = true; icon.sprite = Base64Sprites.ThumbUp; } break; case VoteType.Downvote: { icon.enabled = true; icon.sprite = Base64Sprites.ThumbDown; } break; } } else { icon.enabled = false; } return(__result); }