// For loading from pause public void LoadInGame(int slot) { // removes overlay text that shouldn't be present foreach (Tutorial canv in FindObjectsOfType <Tutorial>()) { Destroy(canv.tutorialPanel); } foreach (NPCManager npc in FindObjectsOfType <NPCManager>()) { Destroy(npc.subtitlePanel); } // // No scene reloading, just loads the data, and moves things already in the scene, then pauses time. // Nevermind, now has scene reloading // Inelegant solution, but it works SaveLoad.Load(slot); if (currentPuzzle.sceneName != currentLevel) { loadedPuzzle = false; levelToLoad = currentPuzzle.sceneName; OnSceneLoad.NewLevel(); } objectManager.allCameras.Clear(); objectManager.FindCameras(); OnSceneLoad.PuzzleLoaded(); // Forces the cameras to switch to saved indexes if (cameraIndexes.Count == 4) { objectManager.visibleCameras.Clear(); foreach (CameraSwitcher cam in camSwitch) { cam.currentIndex = cameraIndexes[Array.IndexOf(camSwitch, cam)]; cam.screenMaterial.material = screenMaterials[cam.currentIndex]; objectManager.visibleCameras.Add(objectManager.allCameras[cam.currentIndex]); } } MoveObject[] movables = FindObjectsOfType <MoveObject>(); foreach (MoveObject obj in movables) { if (obj.computer != null) { if (obj.computer.activate) { obj.transform.localPosition = obj.openPosition; } } } Time.timeScale = 0; }
private void OnTriggerEnter(Collider col) { if (col.name == "Player" && PGM.Instance.currentPuzzle.completed == true) { PGM.Instance.puzzlesCompleted += 1; PGM.Instance.exitedLevel = true; PGM.Instance.AddEvents("levelComplete"); PGM.Instance.loadedPuzzle = false; OnSceneLoad.NewLevel(); } }