public void CreateRoom(RoomProperties settings, string username, ICallBackPlayer callback) { Room newroom = new Room(settings); this.Rooms.Add(newroom.ID, newroom); this.JoinRoom(newroom.ID, username, callback); }
public bool JoinRoom(string player, ICallBackPlayer callback) { lock (players) { if ((this.RoomPropertes.Settings & RoomSettings.PasswordProtected) != 0) { //Password check } if ((this.RoomPropertes.Settings & RoomSettings.EloRestricted) != 0) { //Elo check } if (players.Count >= this.roomProperties.maxPlayers) { return(false); } DataBaseAPI db = new DataBaseAPI(); User user = db.getUser(player); Shooter newshoter = new Shooter(); newshoter.username = player; newshoter.callback = callback; newshoter.elo = user.Elo; players.Add(player, newshoter); subscriber.PlayersInTheRoom(players); return(true); } }
public bool JoinRoom(int Roomid, string username, ICallBackPlayer callback) { LeaveRoom(username); Room room; if (Rooms.TryGetValue(Roomid, out room)) { if (room.JoinRoom(username, callback)) { PlayersRoom[username] = room; return(true); } else { return(false); } } else { throw new FaultException <Exception>(new Exception("Room could not be found!")); } }