Beispiel #1
0
    void OnGUI()
    {
        _sceneSetupInfo = (SceneSetupInfo)EditorGUILayout.ObjectField("SceneSetupInfo", _sceneSetupInfo, typeof(SceneSetupInfo), false);

        //if (GUILayout.Button("Save From Current"))
        //{
        //    saveFromCurrentButton();
        //}

        if (GUILayout.Button("LoadAll"))
        {
            loadAll();
        }
    }
    void InitializeNewScene(Scene scene, LoadSceneMode mode)
    {
        SceneManager.SetActiveScene(scene);

        SceneSetupInfo setupInfo   = null;
        var            rootObjects = SceneManager.GetActiveScene().GetRootGameObjects();

        foreach (var rootObject in rootObjects)
        {
            setupInfo = rootObject.GetComponentInChildren <SceneSetupInfo>();
            if (setupInfo != null)
            {
                break;
            }
        }

        for (var i = 0; i < DronePrefabs.Count; i++)
        {
            var startingPosition = Vector3.zero;
            var startingRotation = Quaternion.identity;
            if (setupInfo != null && i < setupInfo.StartingPositions.Count)
            {
                startingPosition = setupInfo.StartingPositions[i].position;
                startingRotation = setupInfo.StartingPositions[i].rotation;
            }
            var newDrone = Instantiate(DronePrefabs[i]);
            newDrone.transform.position = startingPosition;
            newDrone.transform.rotation = startingRotation;

            Drones.Add(newDrone);

            if (i < DroneActivator.droneData.Length)
            {
                DroneActivator.droneData[i].drone = newDrone.GetComponentInChildren <SetDroneActive>();
                var questLogManager = newDrone.GetComponentInChildren <QuestLogManager>();
                NarrativeManager.OnSegmentFound   += questLogManager.UpdateQuestProgress;
                NarrativeManager.OnAirlockReached += questLogManager.SetAirlockQuestComplete;
            }
        }
        DroneActivator.SetActiveDroneByIndex();

        setupInfo.GetComponentInChildren <NarrativeRelay>().NarrativeManager = NarrativeManager;

        DroneActivator.ToggleSelectionMode();
    }