Exemplo n.º 1
0
    // 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;
    }
Exemplo n.º 2
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();
        }
    }