Files
XRLib/Assets/Scripts/UVC/Factory/Playback/PlaybackCommand.cs
2025-07-28 19:59:35 +09:00

48 lines
1.4 KiB
C#

#nullable enable
using UnityEngine;
using UVC.Data;
using UVC.Factory.Playback.UI;
using UVC.UI.Commands;
using UVC.UI.Loading;
using UVC.UI.Modal;
namespace UVC.Factory.Playback
{
public class PlaybackCommand : ICommand
{
public async void Execute(object? parameter = null)
{
FactoryCameraController.Instance.Enable = false;
var modalContent = new ModalContent(UIPlaybackListModal.PrefabPath)
{
Title = "Playback List",
ConfirmButtonText = "Play",
ShowCancelButton = false
};
UIPlaybackListItemData? result = await UVC.UI.Modal.Modal.Open<UIPlaybackListItemData>(modalContent);
Debug.Log($"PlaybackCommand result==null:{result==null}");
if (result != null)
{
UILoading.Show();
UIPlaybackListItemData data = result;
Debug.Log($"PlaybackCommand data:{data}");
DataRepository.Instance.MqttReceiver.Stop();
await PlaybackService.Instance.StartAsync(data);
FactoryCameraController.Instance.Enable = true;
UILoading.Hide();
}
else
{
UILoading.Show();
PlaybackService.Instance.Exit();
FactoryCameraController.Instance.Enable = true;
UILoading.Hide();
}
}
}
}