Example #1
0
        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>();
                }
            }
        }
Example #2
0
        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();
        }