public void ManageTransitions(On.GameManager.orig_BeginSceneTransition orig, GameManager self, GameManager.SceneLoadInfo info)
 {
     // The only thing we need here is to see if the user is making a new game.
     if (info.SceneName == "GG_Entrance_Cutscene")
     {
         Send(MakeEvent("game_level_event", "game_level_event", "new_game"));
     }
     orig(self, info);
 }
 private static void OverrideBeginSceneTransition(On.GameManager.orig_BeginSceneTransition orig, GameManager self, GameManager.SceneLoadInfo info)
 {
     ApplySaveDataChanges(info.SceneName, info.EntryGateName);
     orig(self, info);
 }
Esempio n. 3
0
        private static void RandomizeTransition(On.GameManager.orig_BeginSceneTransition orig, GameManager self, GameManager.SceneLoadInfo info)
        {
            if (string.IsNullOrEmpty(info.EntryGateName) || string.IsNullOrEmpty(info.SceneName))
            {
                orig(self, info);
                return;
            }

            string s = info.EntryGateName.Substring(0, 3);

            SceneItem scene = RandomScene(s);

            info.SceneName     = scene.Name;
            info.EntryGateName = GetGate(scene, s);

            Logger.Log("gate: " + info.EntryGateName);

            orig(self, info);
        }
Esempio n. 4
0
 public extern void orig_BeginSceneTransition(GameManager.SceneLoadInfo info);
Esempio n. 5
0
        public void BeginSceneTransition(GameManager.SceneLoadInfo info)
        {
            info.SceneName = ModHooks.Instance.BeforeSceneLoad(info.SceneName);

            orig_BeginSceneTransition(info);
        }
Esempio n. 6
0
        public void Reset(On.GameManager.SceneLoadInfo.orig_NotifyFetchComplete origNotifyFetchComplete, GameManager.SceneLoadInfo sceneLoadInfo)
        {
            RestoreCameraBehaviour();
            ToggleOff();

            origNotifyFetchComplete(sceneLoadInfo);
        }
 private void GetLoadStart(On.GameManager.orig_BeginSceneTransition orig, GameManager self, GameManager.SceneLoadInfo info)
 {
     lastSceneLoaded    = info.SceneName;
     lastSceneLoadStart = Time.realtimeSinceStartup;
     orig(self, info);
 }
Esempio n. 8
0
 private static void EditTransition(On.GameManager.orig_BeginSceneTransition orig, GameManager self, GameManager.SceneLoadInfo info)
 {
     if (info.SceneName == "Room_Final_Boss_Core")
     {
         info.SceneName = "Room_Final_Boss_Atrium";
     }
     orig(self, info);
 }
Esempio n. 9
0
 private static IEnumerator BeginSceneTransition(On.GameManager.orig_BeginSceneTransitionRoutine orig, GameManager self, GameManager.SceneLoadInfo info)
 {
     info.EntryDelay = 0f;
     yield return(orig(self, info));
 }
Esempio n. 10
0
        private void GameManager_BeginSceneTransition(On.GameManager.orig_BeginSceneTransition orig, GameManager self, GameManager.SceneLoadInfo info)
        {
            Log("PROP " + info.EntryGateName);
            Log("PROP " + BossLevel);
            if (info.SceneName == "GG_Workshop" && BossLevel != -1)
            {
                info.EntryGateName = "door_dreamReturnGGPropeller";
            }

            orig(self, info);
        }
Esempio n. 11
0
        private static IEnumerator Dreamers(On.GameManager.orig_BeginSceneTransitionRoutine orig, GameManager self, GameManager.SceneLoadInfo info)
        {
            info.EntryDelay = 0f;

            if (info.SceneName.Length <= 15 || info.SceneName.Substring(0, 15) != GUARDIAN)
            {
                yield return(orig(self, info));

                yield break;
            }

            string @bool = info.SceneName.Substring(15);

            PlayerData pd = PlayerData.instance;

            pd.SetBool($"{@bool.ToLower()}Defeated", true);
            pd.SetBool($"maskBroken{@bool}", true);
            pd.guardiansDefeated++;
            pd.crossroadsInfected = true;

            if (pd.guardiansDefeated == 3)
            {
                pd.mrMushroomState = 1;
                pd.brettaState++;

                foreach (string pdBool in ALL_DREAMER_BOOLS)
                {
                    pd.SetBool(pdBool, true);
                }
            }

            info.SceneName     = GameManager.instance.sceneName;
            info.EntryGateName = "door_dreamReturn";

            GameCameras.instance.cameraFadeFSM.Fsm.Event("FADE INSTANT");

            yield return(orig(self, info));

            GameCameras.instance.cameraFadeFSM.Fsm.SetState("FadeIn");

            yield return(null);

            HeroController.instance.MaxHealth();

            while (GameManager.instance.gameState != GameState.PLAYING)
            {
                yield return(null);
            }

            yield return(null);

            PlayMakerFSM.BroadcastEvent("BOX DOWN");
            PlayMakerFSM.BroadcastEvent("BOX DOWN DREAM");

            pd.SetBenchRespawn(UObject.FindObjectOfType <RespawnMarker>(), GameManager.instance.sceneName, 2);
            GameManager.instance.SaveGame();

            HeroController.instance.AcceptInput();
        }
Esempio n. 12
0
        public static void Reset(On.GameManager.SceneLoadInfo.orig_NotifyFetchComplete origNotifyFetchComplete, GameManager.SceneLoadInfo sceneLoadInfo)
        {
            RestoreCameraBehaviour();
            ToggleOff();
            if (_blurPlaneOff)
            {
                ToggleBlurPlane();
            }

            origNotifyFetchComplete(sceneLoadInfo);
        }
        public static void StopFreeze(On.GameManager.SceneLoadInfo.orig_NotifyFetchComplete origNotifyFetchComplete, GameManager.SceneLoadInfo sceneLoadInfo)
        {
            CoroutineStarter.StopAllCoroutines();

            foreach (KeyValuePair <ParticleSystem, float> pair in LoopingParticles)
            {
                if (pair.Key == null)
                {
                    continue;
                }
                pair.Key.Play(); // Play the particles in case they were off due to the class stopping them
                ParticleSystem.EmissionModule emissionModule = pair.Key.emission;
                emissionModule.rateOverTimeMultiplier = pair.Value;
            }

            LoopingParticles.Clear();


            origNotifyFetchComplete(sceneLoadInfo);
        }
Esempio n. 14
0
        private IEnumerator GameManagerOnBeginSceneTransitionRoutine(On.GameManager.orig_BeginSceneTransitionRoutine orig, GameManager self, GameManager.SceneLoadInfo info)
        {
            // If going to Abyss_09, go to TestAbyss instead.
            info.SceneName = info.SceneName == "Abyss_09" ? "TestAbyss" : info.SceneName;
            yield return(orig(self, info));

            if (info.SceneName != "TestAbyss")
            {
                yield break;
            }

            GameObject blur = null;

            // Wait until BlurPlane is found
            yield return(new WaitWhile(() => !(blur = GameObject.Find("BlurPlane"))));

            // Destroy it and create a new BlurPlane from our Preloaded object
            Destroy(blur);
            blur = Instantiate(SceneTutorial.blur);
            blur.SetActive(true);
            blur.transform.position      = new Vector3(111.5f, 65.3f, 10.9f);
            blur.transform.localRotation = Quaternion.Euler(-180f, -90f, 90f);
            blur.transform.localScale    = new Vector3(11.48f, 11.48f, 25.01f);
        }
Esempio n. 15
0
 public void BeginSceneTransition(GameManager.SceneLoadInfo info)
 {
 }
Esempio n. 16
0
        private void GameManager_BeginSceneTransition(On.GameManager.orig_BeginSceneTransition orig, GameManager self, GameManager.SceneLoadInfo info)
        {
            if (info.SceneName == "GG_Workshop" && BossLevel != -1)
            {
                info.EntryGateName = "door_dreamReturnGGFennel";
            }

            orig(self, info);
        }