using GhostSystem; using UnityEngine; using UnityEngine.SceneManagement; using TMPro; using System.Collections.Generic; public class FlushAndLoad : MonoBehaviour { public TMP_Text output; public GhostRecorderBatch recorder; public GameObject loadingScreen; public GameObject canvas; private void OnEnable() { GhostRecorderBatch.OnUploadFinished += HandleUploadFinished; RoomManager.OnSceneIdReady += HandleSceneIdReady; } private void OnDisable() { GhostRecorderBatch.OnUploadFinished -= HandleUploadFinished; RoomManager.OnSceneIdReady -= HandleSceneIdReady; } // Start is called once before the first execution of Update after the MonoBehaviour is created void Start() { } // Update is called once per frame void Update() { if (OVRInput.GetDown(OVRInput.Button.SecondaryIndexTrigger)) { output.text = "Flush..."; loadingScreen.SetActive(true); canvas.SetActive(false); recorder.Flush(); GetComponent().NewRoom(); } } private void HandleUploadFinished() { loadingScreen.SetActive(false); output.text = ""; } private void HandleSceneIdReady(string id, List doors) { if (id == "Room1") { loadingScreen.SetActive(false); } } }