镜像 MainMenuP0 包样例
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
using System.Threading.Tasks;
|
||||
using FlowScope.Flow;
|
||||
using FlowScope.UI;
|
||||
|
||||
namespace FlowScope.Samples.MainMenuP0
|
||||
{
|
||||
public sealed class MainMenuFeature : FeatureBase
|
||||
{
|
||||
private readonly IUIScreenNavigator _screenNavigator;
|
||||
private readonly PlayerData _playerData;
|
||||
private MainMenuViewModel _viewModel;
|
||||
|
||||
public MainMenuFeature(IUIScreenNavigator screenNavigator, PlayerData playerData)
|
||||
{
|
||||
_screenNavigator = screenNavigator;
|
||||
_playerData = playerData;
|
||||
}
|
||||
|
||||
public override Task LoadAsync(FeatureContext context)
|
||||
{
|
||||
base.LoadAsync(context);
|
||||
_viewModel = new MainMenuViewModel(_playerData);
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
public override async Task EnterAsync(FeatureContext context)
|
||||
{
|
||||
await _screenNavigator.PushAsync<MainMenuPanel, MainMenuViewModel>(
|
||||
_viewModel,
|
||||
context.CancellationToken);
|
||||
}
|
||||
|
||||
public override Task ExitAsync(FeatureContext context)
|
||||
{
|
||||
_screenNavigator.Clear();
|
||||
return base.ExitAsync(context);
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
_viewModel = null;
|
||||
base.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user