public Game() { AppDomain.CurrentDomain.ProcessExit += ProcessExit; try { serverActions = new ServerActions(); if (!serverActions.TestClientVersion()) { MessageBox.Show("У вас устаревшая версия приложения! Скачайте новую"); Environment.Exit(0); } Tables = new TablesList(); CurrentTable = null; Player = null; Players = new PlayersList(); Place = -1; Status = TableStatus.NONE; Player1Order = null; Player2Order = null; Player3Order = null; Player4Order = null; IsMakingMove = false; guestForm = new MainGuestForm(this); guestForm.Show(); } catch (Exception ex) { MessageBox.Show(ex.Message); Environment.Exit(0); } }
//********************************************************************************************************************************************************************************** // Конструкторы //********************************************************************************************************************************************************************************** public ClientInformation() { try { serverActions = new ServerActions(); tablesList = new TablesList(); playersList = new PlayersList(); place = -1; Status = GameStatus.NON_GAME; } catch (Exception Ex) { throw new BeloteClientException("Невозможно начать взаимодействие с сервером", Ex); } }
// Добавление информации о всех доступных столах и игроках с них в соответствующие списки public void UpdatePossibleTables() { Tables = serverActions.GetAllPossibleTables(); if (Tables == null) Tables = new TablesList(); UpdatePlayers(); }
// Выборка всех столов, для этого должны быть созданы обработчики событий public TablesList GetAllPossibleTables() { string resultTables = ServerConnection.ExecuteMessageGetMessage(new Message(Messages.MESSAGE_TABLE_SELECT_ALL, "")).Msg; if (resultTables == "") { return null; } TablesList tablesList = new TablesList(); try { string[] tables = resultTables.Split('|'); foreach (string s in tables) { tablesList.AddTable(new Table(new MessageResult(new Message("", s)))); } return tablesList; } catch { return null; } }
//********************************************************************************************************************************************************************************** // Методы работы со столами: обновление списка столов, создание, посадка на стол, выход со стола //********************************************************************************************************************************************************************************** // Добавление информации о всех доступных столах и игроках с них в соответствующие списки public void UpdatePossibleTables() { tablesList = serverActions.Tables.GetAllPossibleTables(); if (tablesList == null) tablesList = new TablesList(); UpdatePlayers(); }