protected override async void OnResume() { Console.WriteLine("Resuming"); await Task.Delay(1000); ViewModelContainer container = ((AppShell)MainPage).Container; IGameService gameService = container.GetService <IGameService>(); if (!gameService.Client.Connected) { await container.NavigationService.NavigateToRoot(); } else if (container.NavigationService.CurrentViewModel is not LandingViewModel and not GameViewModel) { if (gameService.IsLoggedIn) { await container.NavigationService.NavigateTo <LandingViewModel>(animate : false); await container.NavigationService.NavigateTo <GameViewModel>(); } else { await container.NavigationService.NavigateTo <LandingViewModel>(); } } }
public AppShell() { Container = new ViewModelContainer(); Container.RegisterService <IGameService, GameService>(); Container.RegisterService <IDialogService, DialogService>(); GameService = Container.GetService <IGameService>(); GameService.LoggedIn += GameService_LoggedIn; GameService.Client.UserDataUpdated += Client_UserDataUpdated; InitializeComponent(); }