/// <summary> /// Sends a request to the server to create a new room. /// </summary> /// <param name="aRoomName">The name of the new room.</param> /// <returns>Romm creation successful</returns> public static bool RequestCreateNewRoom(string aRoomName) { try { if (GameClient != null) { DataRoom NewRoom = new DataRoom(); NewRoom.Name = aRoomName; string DataJSON = JsonConvert.SerializeObject(NewRoom); SendData(String.Format("{0}{1}", PREFIX_NEWRM, DataJSON)); return(true); } return(false); } catch (SocketException e) { return(false); //MessageBox.Show("Keine Verbindung möglich", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (Exception e) { return(false); //MessageBox.Show(e.Message); } }
/// <summary> /// Sends a request to the server to create a new room. /// </summary> /// <param name="aRoomName">The name of the new room.</param> /// <returns>Romm creation successful</returns> public static bool RequestCreateNewRoom(string aRoomName) { try { if (GameClient != null) { #pragma warning disable IDE0017 // Simplify object initialization DataRoom NewRoom = new DataRoom(); #pragma warning restore IDE0017 // Simplify object initialization NewRoom.Name = aRoomName; SendData(String.Format("{0}{1}", PREFIX_NEWRM, DataProcessor.SerializeNewRoomData(NewRoom))); Thread ThreadWaitForGame = new Thread(() => WaitForGameToStart()); ThreadWaitForGame.Start(); return(true); } return(false); } catch (SocketException e) { Console.Write(e.Message); return(false); //MessageBox.Show("Keine Verbindung möglich", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (Exception e) { Console.Write(e.Message); return(false); //MessageBox.Show(e.Message); } }
/// <summary> /// Creates a new room, which then waits until a second player has joined. /// </summary> /// <param name="aData">Data required to creating a new room</param> /// <param name="aClient">Client that creates the room</param> private static void CreateNewRoom(string aData, TcpServerClient aClient) { DataRoom NewRoomData = DataProcessor.DeserializeRoomData(aData); Room GameRoom = new Room(NewRoomData.Name, aClient); _ListRooms.Add(GameRoom); Thread ThreadWaitForSecPlayer = new Thread(() => WaitForSecondPlayer(GameRoom)); ThreadWaitForSecPlayer.Start(); }
/// <summary> /// When clients the request a list of available rooms , they get the names and IDs (etc.) of those as a list. /// Sends client a json string with this list. /// </summary> /// <param name="aClient">Client that requested rooms</param> private static void SendAvailableRooms(TcpServerClient aClient) { bool DEBUG = false; //Start DEBUG if (DEBUG) { DataRoom room = new DataRoom(); room.Name = "TEST_ROOM"; TcpServerClient client = new TcpServerClient(); client.ClientID = "TEST_ID"; client.PlayerClient = new TcpClient(); client.PlayerName = "TEST_CLIENT"; CreateNewRoom(JsonConvert.SerializeObject(room), client); } //End DEBUG DataSendRooms RoomData = new DataSendRooms(_ListRooms); SendData(aClient, String.Format("{0}", DataProcessor.SerializeSendRoomsData(RoomData))); }
public async Task Login(object parameter) { if (!string.IsNullOrEmpty(RoomName)) { await RunCommand(() => LoginIsRunning, async() => { await Task.Run(() => { Room room = new Room(RoomName); List <Room> Rooms = DataRoom.DownloadRooms(); if (Rooms.Contains(room)) { DataProgram.Room = Rooms.Find(x => x.room_name == room.room_name); } else { DataRoom.AddRoom(room); DataProgram.Room = room; } IoC.Get <ApplicationViewModel>().GoToPage(ApplicationPage.Nodes); }); }); } }
public static string SerializeNewRoomData(DataRoom aRoomData) { return(JsonConvert.SerializeObject(aRoomData)); }