Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }