using System.Threading; using Cysharp.Threading.Tasks; using QuizPleaseTest.Boot.Flow; using QuizPleaseTest.Boot.UI; using QuizPleaseTest.Common.StateMachine; namespace QuizPleaseTest.Boot.States { public class MenuState : IState { private readonly MenuUIView _view; private readonly IMenuRestartSignal _restartSignal; public MenuState(MenuUIView view, IMenuRestartSignal restartSignal) { _view = view; _restartSignal = restartSignal; } public async UniTask EnterAsync(CancellationToken ct) { _view.Initialize(); await _restartSignal.WaitAsync(ct); } public UniTask ExitAsync(CancellationToken ct) { _view.Release(); return UniTask.CompletedTask; } } }