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(); }