Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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));
            }
        }
Ejemplo n.º 3
0
        private void HandleGameSceneLoaded()
        {
            gameEnvHider.FindEnvironment();
            gameEnvHider.HideObjectsForPlatform(currentPlatform);

            EnvironmentArranger.RearrangeEnvironment();
            TubeLightManager.CreateAdditionalLightSwitchControllers();
        }
Ejemplo n.º 4
0
        private void HideEnvironment()
        {
            if (platforms.ElementAt(platformIndex) != null)
            {
                // Find environment parts after scene change
                envHider.FindEnvironment();

                HideEnvironmentForCurrentPlatform();
            }
        }
Ejemplo n.º 5
0
        private void HandleGameSceneLoaded()
        {
            TubeLightManager.FixUnregisterErrors();

            gameEnvHider.FindEnvironment();
            gameEnvHider.HideObjectsForPlatform(currentPlatform);

            EnvironmentArranger.RearrangeEnvironment();
            TubeLightManager.CreateAdditionalLightSwitchControllers();

            //SceneDumper.DumpScene();
            TubeLightManager.UpdateEventTubeLightList();
        }
Ejemplo n.º 6
0
        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;
        }
Ejemplo n.º 7
0
        /// <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));
            }
        }
Ejemplo n.º 8
0
 private void HandleMenuSceneLoadedFresh()
 {
     ChangeToPlatform(platformIndex);
     menuEnvHider.FindEnvironment();
     HandleMenuSceneLoaded();
 }
Ejemplo n.º 9
0
 private void HandleMenuSceneLoadedFresh()
 {
     menuEnvHider.FindEnvironment();
     HandleMenuSceneLoaded();
 }
Ejemplo n.º 10
0
 private void SceneManagerOnActiveSceneChanged(Scene arg0, Scene arg1)
 {
     envHider.FindEnvironment();
     envHider.HideObjectsForPlatform(currentPlatform);
 }