async Task IOpeningMessenger.HostNotFoundAsync(IMessageChecker thisCheck)
        {
            await UIPlatform.ShowMessageAsync("Unable to connect to host");

            OpeningStatus       = EnumOpeningStatus.None;
            thisCheck.IsEnabled = true; //so can try again later.
            //hopefully this is okay.
            //Visible = true; //because its not visible.
            ShowOtherChangesBecauseOfNetworkChange();
            CommandContainer !.OpenBusy = false;
        }
        async Task IOpeningMessenger.ConnectedToHostAsync(IMessageChecker thisCheck, string hostName)
        {
            await _nets !.SendReadyMessageAsync(thisCheck.NickName, hostName);

            OpeningStatus       = EnumOpeningStatus.ConnectedToHost;     //hopefully okay.
            _data.Client        = true;
            _data.MultiPlayer   = true;                                  //we do know its multiplayer for sure.
            _data.NickName      = thisCheck.NickName;
            thisCheck.IsEnabled = true;                                  //because you will receive more information from host.
            ShowOtherChangesBecauseOfNetworkChange();
            await _aggregator.PublishAsync(new WaitForHostEventModel()); //if everything works, then on client, will simply wait.
        }
 public WebhookController(
     IMyLogger <WebhookController> logger
     , IMessageChecker messageChecker
     , ICallbackChecker callbackChecker
     , IMapper mapper
     , IDataRepository repo)
 {
     _mapper          = mapper;
     _logger          = logger;
     _messageChecker  = messageChecker;
     _callbackChecker = callbackChecker;
     _dataRepository  = repo;
 }
 public MultiplayerOpeningViewModel(CommandContainer commandContainer,
                                    IMultiplayerSaveState thisState,
                                    BasicData data,
                                    INetworkMessages nets, //iffy.
                                    TestOptions test,
                                    IGameInfo game,
                                    IEventAggregator aggregator,
                                    IMessageChecker checker
                                    )
 {
     CommandContainer          = commandContainer;
     CommandContainer.OpenBusy = true; //this was needed too.
     _state      = thisState;
     _data       = data;
     _nets       = nets;
     _test       = test;
     _game       = game;
     _aggregator = aggregator;
     _checker    = checker;
 }
        Task IOpeningMessenger.HostConnectedAsync(IMessageChecker thisCheck)
        {
            _data.Client        = false;
            thisCheck.IsEnabled = true;                       //so it can process the message from client;
            OpeningStatus       = EnumOpeningStatus.HostingWaitingForAtLeastOnePlayer;
            _playerList         = new PlayerCollection <P>(); //i think here too.
            P thisPlayer = new P();

            thisPlayer.NickName       = _data.NickName;
            thisPlayer.IsHost         = true;
            thisPlayer.Id             = 1;
            thisPlayer.InGame         = true; //you have to show you are in game obviously to start with.
            thisPlayer.PlayerCategory = EnumPlayerCategory.OtherHuman;
            _playerList.AddPlayer(thisPlayer);

            if (_saveList != null)
            {
                PreviousNonComputerNetworkedPlayers = _saveList.Count() - 1; //i think
            }
            CommandContainer.OpenBusy = false;                               //because you may decide to cancel.

            return(Task.CompletedTask);
        }
 public MessageHandler(IMessageChecker checker)
 {
     this._checker     = checker;
     this._nextHandler = EndOfChainHandler.Instance;
 }
        public IMessageChecker SetNext(IMessageChecker checker)
        {
            _nextChecker = checker;

            return(checker);
        }
 public MessageHandler(IMessageChecker checker)
 {
     this._checker = checker;
     this._nextHandler = EndOfChainHandler.Instance;
 }