public static void RejectFriendRequest(int _fromClient, Packet _packet) { int _toClientID = _packet.ReadInt(); int _fromClientID = _packet.ReadInt(); using (SqliteDataAccess _db = new SqliteDataAccess()) { if (_db.GetFriendRequest(_fromClientID, _toClientID)) { _db.RemoveFriendRequest(_fromClientID, _toClientID); ServerSend.FriendshipRequestHandled(_fromClient, "Friend request removed."); } } }
public void Connect(TcpClient _socket) { socket = _socket; socket.ReceiveBufferSize = dataBufferSize; socket.SendBufferSize = dataBufferSize; stream = socket.GetStream(); receiveData = new Packet(); receiveBuffer = new byte[dataBufferSize]; stream.BeginRead(receiveBuffer, 0, dataBufferSize, ReceiveCallback, null); ServerSend.Welcome(id, "Welcome to Laser Focus"); Console.WriteLine("Connected sucessfully"); }
public void StartMatch() { foreach (Client client in clients) { if (!client.player.readyToStart) { Console.WriteLine($"Waiting for player {client.player.username} to finish loading"); return; } } foreach (Client client in clients) { ServerSend.SendDeckToPlayer(client.id); } gameBegun = true; Console.WriteLine($"All players finished loading. Ready to start."); NextTurn(); }
public static void AcceptFriendRequest(int _fromClient, Packet _packet) { int _toClientID = _packet.ReadInt(); //User that received request int _fromClientID = _packet.ReadInt(); //User that sent request using (SqliteDataAccess _db = new SqliteDataAccess()) { if (_db.GetFriendRequest(_fromClientID, _toClientID)) { Console.WriteLine($"User {_db.GetUserData(_toClientID).username} accepted friend request from {_db.GetUserData(_fromClientID).username}"); _db.AcceptFriendRequest(_fromClientID, _toClientID); _db.AcceptFriendRequest(_toClientID, _fromClientID); _db.RemoveFriendRequest(_fromClientID, _toClientID); ServerSend.FriendshipRequestHandled(_fromClient, "Friend added."); } } }
public static void SendFriendRequest(int _fromClient, Packet _packet) { int _fromClientID = _packet.ReadInt(); int _toClientID = _packet.ReadInt(); using (SqliteDataAccess _db = new SqliteDataAccess()) { if (!_db.GetFriendRequest(_fromClientID, _toClientID)) { _db.SendFriendRequest(_fromClientID, _toClientID); ServerSend.FriendshipRequestHandled(_fromClient, "Friend request sent."); } else { ServerSend.FriendshipRequestHandled(_fromClient, "The ID you inserted doesn't belong to anyone. Please try again."); } } }
public static void CreateUser(int _fromClient, Packet _packet) { Console.WriteLine("Registering new User"); string _username = _packet.ReadString(); using (SqliteDataAccess _db = new SqliteDataAccess()) { if (_db.GetUserData(_username).username != null) { Console.WriteLine("Atempted to add user that already existed. Requesting new username."); ServerSend.RequestNewUsername(_fromClient); } else { _db.AddUser(_username); Console.WriteLine($"Registered new user {_username}. Welcome to Laser Focus."); Server.clients[_fromClient].ReturnNewUserData(_db.GetUserData(_username)); } } }
public void LeaveRoom(Client _client) { if (clients.Contains(_client)) { clients.Remove(_client); if (gameBegun && !gameEnded) { gameEnded = true; //TELL REMAINING PLAYER OPONENT DISCONNECTED //SEND TO WIN winner = 0; if (clients.Count > 0) { ServerSend.OpponentDisconnected(clients[0].id, "Opponent Connection Failed"); Console.WriteLine($"User {clients[winner].player.username} won the match."); } } if (gameBegun && gameEnded) { //TELL REMAINING PLAYER OPONENT FORFEITED //SEND TO WIN winner = 0; if (clients.Count > 0) { ServerSend.OpponentDisconnected(clients[0].id, "Opponent Forfeited"); Console.WriteLine($"User {clients[winner].player.username} won the match."); } } Console.WriteLine($"Player {_client.player.username} left room {id}."); } if (clients.Count <= 0) { CloseRoom(); } }
public static void RequestAllFriendsList(int _fromClient, Packet _packet) { int _fromClientID = _packet.ReadInt(); List <Int64> list; PlayerInfo[] playerInfoArray; using (SqliteDataAccess _db = new SqliteDataAccess()) { Console.WriteLine($"Getting friends of {_db.GetUserData(_fromClientID).username}"); list = _db.GetAllFriends(_fromClientID); playerInfoArray = new PlayerInfo[list.Count]; for (int i = 0; i < list.Count; i++) { playerInfoArray[i] = _db.GetUserData((int)list[i]); } ServerSend.FriendsListRequestHandled(_fromClient, playerInfoArray); } }
public void SendIntoGame(string _playerName) { //player = new Player(id, _playerName, new Vector3(0, 0, 0)); foreach (Client _client in Server.clients.Values) { if (_client.player != null) { if (_client.id != id) { ServerSend.SpawnPlayer(id, _client.player); } } } foreach (Client _client in Server.clients.Values) { if (_client.player != null) { ServerSend.SpawnPlayer(_client.id, player); } } }
public void LoadRoom() { ServerSend.SendPlayersIntoGame(id); Console.WriteLine($"Room {id} has enough players. Starting game between {clients[0].player.username} and {clients[1].player.username}"); playerTurn = rnd.Next(0, maxPlayers); }
public void ReturnNewUserData(PlayerInfo _data) { ServerSend.SendUserDataToClient(id, _data); }
public void SendToRegisterMenu() { ServerSend.SendToRegisterMenu(id); }
public void SendToMainMenu() { ServerSend.SendToMainMenu(id); }
public static void RequestPlayer(int _fromClient, Packet _packet) { PlayerID _player = Server.activeRooms[Server.clients[_fromClient].player.currentRoomID].GetPlayer(_fromClient); ServerSend.SendPlayerNumber(_fromClient, _player); }