Beispiel #1
0
        public void ConnectToMiddleMan()
        {
            int attempts = 0;

            while (!MiddleManAPI.Connect() && attempts++ < 30)
            {
                Thread.Sleep(200);
            }
            MiddleManAPI.ConnectedSuccess += () => Dispatcher?.Invoke(() => ViewController.SetView(new LobbyListView()));
        }
Beispiel #2
0
        public LobbyListView()
        {
            InitializeComponent();

            MiddleManAPI.RequestLobbyList();
            MiddleManAPI.NewLobbyList += (List <LobbyListItem> list) => {
                Dispatcher?.Invoke(() => LobbyListDataGrid.ItemsSource = list);
            };

            LobbyListDataGrid.SizeChanged += LobbyListDataGrid_SizeChanged;
        }
        public LobbyView(BaseLobby lobby)
        {
            this.lobby = lobby;
            InitializeComponent();
            ChatListBox.ItemsSource = lobby.ChatMessages;

            if (lobby.Type == LobbyType.Host)
            {
                ForceJumpsCheck.IsEnabled  = true;
                ForceJumpsCheck.Visibility = Visibility.Visible;
                MiddleManAPI.UpdateLobbyStatus(LobbyStatus.InLobby);
                (lobby as HostLobby).StartEnabled += () => Dispatcher?.Invoke(() => { StartButton.IsEnabled = true; StartButton.Visibility = Visibility.Visible; });
            }

            lobby.PeerDisconnected += Lobby_PeerDisconnected;
        }
        public GameView(BaseLobby lobby)
        {
            InitializeComponent();

            Lobby = lobby;
            ChatBox.ItemsSource     = lobby.ChatMessages;
            lobby.NextTurn         += Lobby_NextTurn;
            lobby.PieceSelected    += Lobby_PieceSelected;
            lobby.TileSelected     += Lobby_TileSelected;
            lobby.GameEnd          += Lobby_GameEnd;
            lobby.PeerDisconnected += Lobby_PeerDisconnected;

            if (lobby.Type == LobbyType.Host)
            {
                MiddleManAPI.UpdateLobbyStatus(LobbyStatus.InLobby);
            }
        }
Beispiel #5
0
 public LoadingLobbyView(LobbyType type, int lobbyID = 0)
 {
     InitializeComponent();
     if (type == LobbyType.Host)
     {
         StatusText.Text = "Creating A Lobby...";
         MiddleManAPI.HostLobby();
         MiddleManAPI.LobbyCreated += () => Dispatcher?.Invoke(() => ViewController.SetView(new LobbyView(new HostLobby())));
     }
     else if (type == LobbyType.User)
     {
         if (lobbyID == 0)
         {
             Dispatcher?.Invoke(() => ViewController.SetView(new LobbyListView()));
         }
         else
         {
             StatusText.Text = "Connecting To Lobby #" + lobbyID + "...";
             MiddleManAPI.JoinLobby(lobbyID);
             MiddleManAPI.JoinLobbySuccess += (Socket connection) => Dispatcher?.Invoke(() => ViewController.SetView(new LobbyView(new UserLobby(connection))));
             MiddleManAPI.JoinLobbyFailure += () => Dispatcher?.Invoke(() => ViewController.SetView(new LobbyListView()));
         }
     }
 }
Beispiel #6
0
 private void RefreshButton_Click(object sender, RoutedEventArgs e)
 {
     MiddleManAPI.RequestLobbyList();
 }