48 lines
1.4 KiB
C#
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();
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
}
|