Skip to content
Snippets Groups Projects

Set limit for players that can join to 6

Merged Marcus Christopher Wildish requested to merge LimitPlayers into main
2 files
+ 53
2
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -16,6 +16,8 @@ import com.wordbattle.game.view.JoinGameView;
import com.wordbattle.game.view.MainMenuView;
import com.wordbattle.game.states.SettingsState;
import java.util.List;
public class JoinGameController {
private JoinGameState state;
@@ -24,6 +26,11 @@ public class JoinGameController {
private FirebaseInterface _FBIC;
private String errorMsg;
private boolean isLessThan6Members;
private String toManyPlayerMessage;
public JoinGameController(JoinGameState state, FirebaseInterface _FBIC, String errorMsg) {
@@ -31,6 +38,8 @@ public class JoinGameController {
this._FBIC = _FBIC;
this.errorMsg = errorMsg;
this.joinGameView = new JoinGameView(state.getCam());
}
public void handleInput() {
@@ -44,7 +53,7 @@ public class JoinGameController {
System.out.println("Join Game Button Pressed in joinGameController");
String nickname = joinGameView.getNickname();
String pin = joinGameView.getPin();
if (confirmNickname() && confirmPin()) { // This is just to check for spelling
if (confirmNickname() && confirmPin() && confirmLessThan6()) { // This is just to check for spelling
// Add join lobby here, and if okay, then do next line ->
// if join lobby fail, display error to view
@@ -58,6 +67,7 @@ public class JoinGameController {
} else {
// Stay on JoinGameState and display an error message if inputs are not valid
//joinGameView.setErrorMessage("DB error");
}
}
if (settingsBounds.contains(touchPos.x, touchPos.y)) {
@@ -89,7 +99,7 @@ public class JoinGameController {
return true;
}
else{
joinGameView.setErrorMessage("Unvalid Pin");
joinGameView.setErrorMessage("Invalid Pin");
return false;
}
}
@@ -105,6 +115,33 @@ public class JoinGameController {
}
}
public boolean confirmLessThan6(){
_FBIC.fetchPlayers(joinGameView.getPin(), new FirebaseInterface.PlayerListUpdateCallback() {
@Override
public void onPlayerListUpdated(List<String> playerNames) {
if (playerNames.size()<6){
System.out.println("checked how many players");
isLessThan6Members=true;
}
else{
isLessThan6Members =false;
joinGameView.setLobbyIsFullMessage("Lobby is full");
}
}
@Override
public void onError(String error) {
}
});
return isLessThan6Members;
}
public void dispose() {
joinGameView.dispose();
}
Loading