private static void CreateSettingsUI() { var subMenu = SettingsUI.CreateSubMenu("Platforms"); var feetMenu = subMenu.AddBool("Always Show Feet"); feetMenu.GetValue += delegate { return(PlatformManager.Instance.envHider.showFeetOverride); }; feetMenu.SetValue += delegate(bool value) { PlatformManager.Instance.envHider.showFeetOverride = value; ModPrefs.SetBool(CustomFloorPlugin.PluginName, "AlwaysShowFeet", PlatformManager.Instance.envHider.showFeetOverride); }; var environment = subMenu.AddList("Environment Override", EnvironmentSceneOverrider.OverrideModes()); environment.GetValue += delegate { return((float)EnvironmentSceneOverrider.overrideMode); }; environment.SetValue += delegate(float value) { EnvironmentSceneOverrider.overrideMode = (EnvironmentSceneOverrider.EnvOverrideMode)value; EnvironmentSceneOverrider.OverrideEnvironmentScene(); ModPrefs.SetInt(CustomFloorPlugin.PluginName, "EnvironmentOverrideMode", (int)EnvironmentSceneOverrider.overrideMode); }; environment.FormatValue += delegate(float value) { return(EnvironmentSceneOverrider.Name((EnvironmentSceneOverrider.EnvOverrideMode)value)); }; }
private void Start() { platforms = new PlatformLoader().CreateAllPlatforms(transform); // Retrieve saved path from player prefs if it exists if (ModPrefs.HasKey(CustomFloorPlugin.PluginName, "CustomPlatformPath")) { string savedPath = ModPrefs.GetString(CustomFloorPlugin.PluginName, "CustomPlatformPath"); // Check if this path was loaded and update our platform index for (int i = 0; i < platforms.Length; i++) { if (savedPath == platforms[i].platName + platforms[i].platAuthor) { platformIndex = i; break; } } } EnvironmentArranger.arrangement = (EnvironmentArranger.Arrangement)ModPrefs.GetInt(CustomFloorPlugin.PluginName, "EnvironmentArrangement", 0, true); EnvironmentSceneOverrider.overrideMode = (EnvironmentSceneOverrider.EnvOverrideMode)ModPrefs.GetInt(CustomFloorPlugin.PluginName, "EnvironmentOverrideMode", 0, true); EnvironmentSceneOverrider.GetSceneInfos(); EnvironmentSceneOverrider.OverrideEnvironmentScene(); envHider = new EnvironmentHider(); envHider.showFeetOverride = ModPrefs.GetBool(CustomFloorPlugin.PluginName, "AlwaysShowFeet", false, true); envHider.FindEnvironment(); envHider.HideObjectsForPlatform(currentPlatform); currentPlatform.gameObject.SetActive(true); BSSceneManager.activeSceneChanged += SceneManagerOnActiveSceneChanged; PlatformUI.OnLoad(); }
/// <summary> /// Initializes the <see cref="PlatformManager"/> /// </summary> internal static void Init() { EnvironmentSceneOverrider.Init(); Anchor.AddComponent <EasterEggs>(); GSM.transitionDidStartEvent += (float ignored) => { TransitionPrep(); }; GSM.transitionDidFinishEvent += (ScenesTransitionSetupDataSO ignored1, DiContainer ignored2) => { TransitionFinalize(); }; AllPlatforms = PlatformLoader.CreateAllPlatforms(Anchor.transform); CurrentPlatform = AllPlatforms[0]; if (CONFIG.HasKey("Data", "CustomPlatformPath")) { string savedPath = CONFIG.GetString("Data", "CustomPlatformPath"); for (int i = 0; i < AllPlatforms.Count; i++) { if (savedPath == AllPlatforms[i].platName + AllPlatforms[i].platAuthor) { CurrentPlatform = AllPlatforms[i]; break; } } } LoadHeart(); }
/// <summary> /// Finishes up scene transitions, spawning the selected <see cref="CustomPlatform"/> if needed /// </summary> private static void TransitionFinalize() { try { Scene currentEvironment = GetCurrentEnvironment(); if (!currentEvironment.name.StartsWith("Menu", STR_INV) && MultiplayerCheck() && D360Check() && currentEvironment.name != "TutorialEnvironment") //Excluding TutorialEnvironment for Counters+ to work properly { try { Settings.UpdatePlayerData(); if (EnvironmentSceneOverrider.didOverrideEnvironment || (PlatformsListView.EnvOr == EnvOverrideMode.Song && !Settings.PlayerData.overrideEnvironmentSettings.overrideEnvironments) || currentEvironment.name.StartsWith("Multiplayer", STR_INV)) { if (!platformSpawned) { PlatformLifeCycleManagement.InternalChangeToPlatform(); EnvironmentSceneOverrider.Revert(); } } } catch (ManagerNotFoundException e) { Log(e); } } else if (currentEvironment.name.StartsWith("Menu", STR_INV)) { platformSpawned = false; Heart.SetActive(Settings.ShowHeart); Heart.GetComponent <LightWithIdMonoBehaviour>().ColorWasSet(Color.magenta); } } catch (EnvironmentSceneNotFoundException) { } }
/// <summary> /// Initializes the <see cref="PlatformManager"/> /// </summary> internal static void Init() { EnvironmentSceneOverrider.Init(); Anchor.AddComponent <EasterEggs>(); GSM.transitionDidStartEvent += (float ignored) => { TransitionPrep(); }; GSM.transitionDidFinishEvent += (ScenesTransitionSetupDataSO ignored1, DiContainer ignored2) => { TransitionFinalize(); }; Reload(); }
private void Start() { EnvironmentSceneOverrider.GetSceneInfos(); EnvironmentSceneOverrider.OverrideEnvironmentScene(); EnvHider = new EnvironmentHider(); platformLoader = new PlatformLoader(); RefreshPlatforms(); PlatformUI.OnLoad(); }
private static void CreateSettingsUI() { var subMenu = SettingsUI.CreateSubMenu("Platforms"); var feetMenu = subMenu.AddBool("Always Show Feet"); feetMenu.GetValue += delegate { return(EnvironmentHider.showFeetOverride); }; feetMenu.SetValue += delegate(bool value) { EnvironmentHider.showFeetOverride = value; Plugin.config.SetBool("Settings", "AlwaysShowFeet", EnvironmentHider.showFeetOverride); }; var environment = subMenu.AddList("Environment Override", EnvironmentSceneOverrider.OverrideModes()); environment.GetValue += delegate { return((float)EnvironmentSceneOverrider.overrideMode); }; environment.SetValue += delegate(float value) { EnvironmentSceneOverrider.overrideMode = (EnvironmentSceneOverrider.EnvOverrideMode)value; EnvironmentSceneOverrider.OverrideEnvironmentScene(); Plugin.config.SetInt("Settings", "EnvironmentOverrideMode", (int)EnvironmentSceneOverrider.overrideMode); }; environment.FormatValue += delegate(float value) { return(EnvironmentSceneOverrider.Name((EnvironmentSceneOverrider.EnvOverrideMode)value)); }; var arrangement = subMenu.AddList("Environment Arrangement", EnvironmentArranger.RepositionModes()); arrangement.GetValue += delegate { return((float)EnvironmentArranger.arrangement); }; arrangement.SetValue += delegate(float value) { EnvironmentArranger.arrangement = (EnvironmentArranger.Arrangement)value; Plugin.config.SetInt("Settings", "EnvironmentArrangement", (int)EnvironmentArranger.arrangement); }; arrangement.FormatValue += delegate(float value) { return(EnvironmentArranger.Name((EnvironmentArranger.Arrangement)value)); }; }
private void Start() { EnvironmentArranger.arrangement = (EnvironmentArranger.Arrangement)Plugin.config.GetInt("Settings", "EnvironmentArrangement", 0, true); EnvironmentSceneOverrider.overrideMode = (EnvironmentSceneOverrider.EnvOverrideMode)Plugin.config.GetInt("Settings", "EnvironmentOverrideMode", 0, true); EnvironmentSceneOverrider.GetSceneInfos(); EnvironmentSceneOverrider.OverrideEnvironmentScene(); menuEnvHider = new EnvironmentHider(); gameEnvHider = new EnvironmentHider(); platformLoader = new PlatformLoader(); BSEvents.gameSceneLoaded += HandleGameSceneLoaded; BSEvents.menuSceneLoadedFresh += HandleMenuSceneLoadedFresh; BSEvents.menuSceneLoaded += HandleMenuSceneLoaded; RefreshPlatforms(); HandleMenuSceneLoadedFresh(); PlatformUI.OnLoad(); }
private void SceneManager_sceneLoaded(Scene arg0, LoadSceneMode arg1) { // Load in the menu scene if (arg0.name == "Menu" && !init) { init = true; SettingsUI.OnLoad(); BSSceneManager.OnLoad(); PlatformLoader.OnLoad(); // Load from modprefs EnvironmentHider.showFeetOverride = ModPrefs.GetBool(PluginName, "AlwaysShowFeet", false, true); EnvironmentSceneOverrider.overrideMode = (EnvironmentSceneOverrider.EnvOverrideMode)ModPrefs.GetInt(PluginName, "EnvironmentOverrideMode", 0, true); EnvironmentSceneOverrider.GetSceneInfos(); EnvironmentSceneOverrider.OverrideEnvironmentScene(); //Application.logMessageReceived += LogCallback; } }