Exemplo n.º 1
0
        /// <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);
            }
        }
Exemplo n.º 2
0
        /// <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);
            }
        }
Exemplo n.º 3
0
        /// <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();
        }
Exemplo n.º 4
0
        /// <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)));
        }
Exemplo n.º 5
0
 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);
             });
         });
     }
 }
Exemplo n.º 6
0
 public static string SerializeNewRoomData(DataRoom aRoomData)
 {
     return(JsonConvert.SerializeObject(aRoomData));
 }