Files
plugin-library/Assets/00.StaryEvoTools/Runtime/VideoSystemPanel/VideoSystem.cs
zhangzheng 189c5016be 1111
2025-12-31 15:56:05 +08:00

37 lines
991 B
C#

using System;
using System.Threading;
using Stary.Evo;
using Stary.Evo.AudioCore;
using Stary.Evo.UIFarme;
using UnityEngine;
public interface IVideoSystem : ISystem
{
void PlayVideo(VideoPanel.VideoInfo info);
void StopVideo();
}
public class VideoSystem : AbstractSystem, IVideoSystem
{
private CancellationTokenSource _cancellationTokenSource;
protected override void OnInit()
{
_cancellationTokenSource = new CancellationTokenSource();
}
public override void Dispose()
{
}
public async void PlayVideo(VideoPanel.VideoInfo info)
{
AudioCoreManager.SetMusicVolume(2f, 0f);
await this.GetSystem<IPanelSystem>().PushQueue<VideoPanel>(parent:AppConfig.GetDefaultMainInstance().transform,packageName:"Main");
this.GetSystem<IPanelSystem>().SendPanelEvent(ModeType.VideoStart,info);
}
public void StopVideo()
{
this.GetSystem<IPanelSystem>().SendPanelEvent(ModeType.VideoEnd);
}
}