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(); }
private void Start() { envHider = new EnvironmentHider(); matSwapper = new MaterialSwapper(); matSwapper.GetMaterials(); CreateAllPlatforms(); // Retrieve saved path from player prefs if it exists if (PlayerPrefs.HasKey("CustomPlatformPath")) { string savedPath = PlayerPrefs.GetString("CustomPlatformPath"); // Check if this path was loaded and update our platform index for (int i = 0; i < bundlePaths.Count; i++) { if (savedPath == bundlePaths.ElementAt(i)) { platformIndex = i; } } } PlatformUI.OnLoad(); if (platforms.ElementAt(platformIndex) != null) { // Find environment parts after scene change envHider.FindEnvironment(); envHider.HideObjectsForPlatform(platforms.ElementAt(platformIndex)); } }
private void HandleGameSceneLoaded() { gameEnvHider.FindEnvironment(); gameEnvHider.HideObjectsForPlatform(currentPlatform); EnvironmentArranger.RearrangeEnvironment(); TubeLightManager.CreateAdditionalLightSwitchControllers(); }
private void HideEnvironment() { if (platforms.ElementAt(platformIndex) != null) { // Find environment parts after scene change envHider.FindEnvironment(); HideEnvironmentForCurrentPlatform(); } }
private void HandleGameSceneLoaded() { TubeLightManager.FixUnregisterErrors(); gameEnvHider.FindEnvironment(); gameEnvHider.HideObjectsForPlatform(currentPlatform); EnvironmentArranger.RearrangeEnvironment(); TubeLightManager.CreateAdditionalLightSwitchControllers(); //SceneDumper.DumpScene(); TubeLightManager.UpdateEventTubeLightList(); }
private void SceneManagerOnActiveSceneChanged(Scene arg0, Scene arg1) { envHider.FindEnvironment(); envHider.HideObjectsForPlatform(currentPlatform); if (SceneManager.GetActiveScene().name == "GameCore") { EnvironmentArranger.RearrangeEnvironment(); TubeLightManager.CreateAdditionalLightSwitchControllers(); TubeLightManager.UpdateEventTubeLightList(); } Camera.main.cullingMask &= ~(1 << CameraVisibilityManager.OnlyInThirdPerson); Camera.main.cullingMask |= 1 << CameraVisibilityManager.OnlyInHeadset; }
/// <summary> /// Handles active scene change. Hides Objects as required for the current platform /// </summary> /// <param name="arg0">Previous Active Scene</param> /// <param name="arg1">New Active Scene</param> private void SceneManagerOnActiveSceneChanged(Scene arg0, Scene arg1) { if (arg1.name == "Menu") { PlatformUI.OnLoad(); } if (platforms.ElementAt(platformIndex) != null) { // Find environment parts after scene change envHider.FindEnvironment(); envHider.HideObjectsForPlatform(platforms.ElementAt(platformIndex)); } }
private void HandleMenuSceneLoadedFresh() { ChangeToPlatform(platformIndex); menuEnvHider.FindEnvironment(); HandleMenuSceneLoaded(); }
private void HandleMenuSceneLoadedFresh() { menuEnvHider.FindEnvironment(); HandleMenuSceneLoaded(); }
private void SceneManagerOnActiveSceneChanged(Scene arg0, Scene arg1) { envHider.FindEnvironment(); envHider.HideObjectsForPlatform(currentPlatform); }