public BaseViewModel(IMessagingCenter messagingCenter, IGameService gameService, IGameHubService gameHubService, ILocalStorageService localStorageService) { MessagingCenter = messagingCenter; GameService = gameService; GameHubService = gameHubService; LocalStorageService = localStorageService; TryReconnectCommand = new Command(async() => await OnTryReconnectAsync(), CanTryReconnect); messagingCenter.Subscribe <GameHubService, ConnectionStateChangedMessage>(this, nameof(ConnectionStateChangedMessage), HandleConnectionStateChanged); }
protected virtual void HandleConnectionStateChanged(IGameHubService sender, ConnectionStateChangedMessage message) { UpdateConnectionStateToolbarItem(); }
protected virtual void HandleConnectionStateChanged(IGameHubService sender, ConnectionStateChangedMessage message) { Device.BeginInvokeOnMainThread(TryReconnectCommand.ChangeCanExecute); }