void NewExplo()
    {
        string currentScene = EditorSceneManager.GetActiveScene().path;

        Scene newScene = EditorSceneManager.NewScene(NewSceneSetup.EmptyScene);

        Instantiate(CameraPrefab);
        Instantiate(DisplayPrefab);

        DestroyImmediate(GameObject.FindObjectOfType <PyramidenMainScript>());

        EditorSceneManager.SaveScene(newScene, "Assets/Resources/Scenes/Exploration" + (explorations.Count + 1) + ".unity");

        EditorBuildSettingsScene[] original    = EditorBuildSettings.scenes;
        EditorBuildSettingsScene[] newSettings = new EditorBuildSettingsScene[original.Length + 1];
        System.Array.Copy(original, newSettings, original.Length);

        EditorBuildSettingsScene sceneToAdd = new EditorBuildSettingsScene(newScene.path, true);

        newSettings[newSettings.Length - 1] = sceneToAdd;
        EditorBuildSettings.scenes          = newSettings;

        ExplorationObject eO = new ExplorationObject();

        eO.scenePath = newScene.path;

        EditorSceneManager.OpenScene(currentScene, OpenSceneMode.Single);

        eO.name = "Exploration " + (explorations.Count + 1);
        explorations.Add(eO);
        Save();
    }
    public void ChangeExploration(string name)
    {
        ExplorationObject newExplo = GameInfoManager.getExploration(name);

        string sceneName = newExplo.scenePath.Split(stringSceneSeparators, System.StringSplitOptions.None)[1];

        sceneName = sceneName.Split('.')[0];

        SceneManager.LoadScene(sceneName);

        nodeHandler.ClearNodes();

        transform.position = mainInitPos;

        Camera.main.transform.position = cameraInitPos;

        canRead = false;

        if (newExplo.beginingSequence != "")
        {
            ChangeSequence(newExplo.beginingSequence, true);
        }

        StartCoroutine(FindBG());
    }
예제 #3
0
    void Init()
    {
        if (exploration == null)
        {
            exploration = new ExplorationObject();
        }

        imgCanvas          = FindObjectOfType <exploInfo>().bgCanvas;
        interactableCanvas = FindObjectOfType <exploInfo>().interactCanvas;

        if (imgCanvas.childCount > 0)
        {
            backgroundImage = imgCanvas.GetChild(0).GetComponent <Image>();
        }
        else
        {
            backgroundImage = null;
        }

        foreach (InteractableObject iO in exploration.interactables)
        {
            foreach (Image img in interactableCanvas.GetComponentsInChildren <Image>())
            {
                if (img.gameObject.name == iO.id)
                {
                    iO.detectionRect = img;
                }
            }
        }
    }
예제 #4
0
    void copy(ExplorationObject characterToCopy)
    {
        name = characterToCopy.name;

        backGroundPath = characterToCopy.backGroundPath;

        interactables = characterToCopy.interactables;

        scenePath = characterToCopy.scenePath;

        beginingSequence = characterToCopy.beginingSequence;
    }
예제 #5
0
    public static ExplorationObject getExploration(string explorationName)
    {
        ExplorationObject eO = gameInfo.explorations[0];

        foreach (ExplorationObject e in gameInfo.explorations)
        {
            if (e.name == explorationName)
            {
                eO = e;
            }
        }

        return(eO);
    }
예제 #6
0
    static void Load()
    {
        GameInfoManager.LoadGameInfo();

        exploration = GameInfoManager.gameInfo.explorations[exploIndex];
    }