Cleaned Scripts, added comments, added end scene

This commit is contained in:
Thorbjoern
2025-07-03 13:31:47 +02:00
parent 410166ba80
commit 9a54b4ee58
9 changed files with 461 additions and 31 deletions
@@ -43,14 +43,12 @@ namespace GhostSystem
{
SupabaseManager.OnSuperbaseReady += HandleSupabaseReady;
RoomManager.OnSceneIdReady += HandleSceneIdReady;
//StopRecordingTrigger.OnRecordStop += HandleRecordStop;
}
private void OnDisable()
{
SupabaseManager.OnSuperbaseReady -= HandleSupabaseReady;
RoomManager.OnSceneIdReady -= HandleSceneIdReady;
//StopRecordingTrigger.OnRecordStop -= HandleRecordStop;
}
private void Start()
@@ -83,15 +81,9 @@ namespace GhostSystem
doorCount++;
}
}
//StartRecording();
}
}
/*private void HandleRecordStop()
{
StopRecording();
}*/
private void Update()
{
if (!_isRecording) return;
@@ -105,6 +97,7 @@ namespace GhostSystem
RecordSample();
}
// Würde genutzt werden, um live in die Datenbank hochzuladen.
/*if (_frameBuffer.Count >= BatchSize || _flushTimer >= FlushInterval)
{
_flushTimer = 0f;
@@ -121,7 +114,7 @@ namespace GhostSystem
}
}
private async UniTaskVoid FlushBatchAsync()
private async UniTaskVoid FlushBatchAsync() // Die eigentliche Methode zum Hochladen eines Batches/leeren des Buffers.
{
if (_frameBuffer.Count == 0 || !supabaseReady) return;
@@ -131,13 +124,13 @@ namespace GhostSystem
try
{
var response = await SupabaseManager.instance.supabase.From<FrameModel>().Insert(batch);
var response = await SupabaseManager.instance.supabase.From<FrameModel>().Insert(batch); // Versucht, den Batch an Superbase hochzuladen
if (!response.ResponseMessage.IsSuccessStatusCode)
{
Debug.LogWarning($"Batch insert failed: {response.ResponseMessage.StatusCode}, fallback to offline.");
await FallbackToOfflineAsync(batch);
}
if(response.ResponseMessage.IsSuccessStatusCode && sceneIdReady)
if (response.ResponseMessage.IsSuccessStatusCode && sceneIdReady) // Löst Action aus, wenn der Upload geklappt hat und die neue Szene geladen ist.
{
OnUploadFinished?.Invoke();
Debug.Log("Upload Finished");
@@ -147,13 +140,13 @@ namespace GhostSystem
catch (Exception ex)
{
Debug.LogWarning($"Insert failed, fallback to offline: {ex.Message}");
await FallbackToOfflineAsync(batch);
OnUploadFinished?.Invoke();
await FallbackToOfflineAsync(batch); // Bei nicht erfolgtem Upload wird der Batch lokal gescpeichert.
OnUploadFinished?.Invoke(); // Die Action für das Ende des Ladescreens wird trotzdem ausgelöst.
Debug.Log("Upload Finished");
}
}
private async UniTask FallbackToOfflineAsync(List<FrameModel> batch)
private async UniTask FallbackToOfflineAsync(List<FrameModel> batch) // Schreibt den Buffer in eine Datei, falls Upload nicht möglich
{
try
{
@@ -193,10 +186,9 @@ namespace GhostSystem
doorCount = 0;
}
public void Flush()
public void Flush() // Manueller Flush
{
_flushTimer = 0f;
//FlushBatchAsync();
_ = FlushBatchAsync(); // Fire and forget
}
}