Skip to content

Commit

Permalink
refactor enabling of player settings on android
Browse files Browse the repository at this point in the history
  • Loading branch information
paulwedeck committed Oct 21, 2021
1 parent ca10ede commit 005e80b
Show file tree
Hide file tree
Showing 6 changed files with 37 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ public class JoinMultiPlayerSetupViewModel extends MultiPlayerSetupViewModel {

public JoinMultiPlayerSetupViewModel(GameStarter gameStarter, AndroidPreferences androidPreferences, IJoinPhaseMultiplayerGameConnector connector, MapLoader mapLoader) {
super(gameStarter, androidPreferences, connector, mapLoader);

setAllPlayerSlotsEnabled(false);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -340,19 +340,27 @@ public void hideReadyControl() {
}

@Override
public void setControlsEnabled() {
public void setReadyControlsEnabled() {
readySwitch.setClickable(true);
readySwitch.setFocusable(true);
}

@Override
public void setReadyControlsDisabled() {
readySwitch.setClickable(false);
readySwitch.setFocusable(false);
}

@Override
public void setPlayerControlsEnabled() {
playerTypeSpinner.setEnabled(true);
civilisationSpinner.setEnabled(true);
startPositionSpinner.setEnabled(true);
teamSpinner.setEnabled(true);
}

@Override
public void setControlsDisabled() {
readySwitch.setClickable(false);
readySwitch.setFocusable(false);
public void setPlayerControlsDisabled() {
playerTypeSpinner.setEnabled(false);
civilisationSpinner.setEnabled(false);
startPositionSpinner.setEnabled(false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,11 +89,13 @@ public void readyChanged(boolean ready) {
connector.setReady(ready);
}

private void updateSlots() {
List<IMultiplayerPlayer> players = connector.getPlayers().getItems();
int numberOfConnectedPlayers = players.size();

protected void setAllPlayerSlotsEnabled(boolean enabled) {
for (PlayerSlotPresenter playerSlotPresenter : playerSlotPresenters) {
playerSlotPresenter.setControlsEnabled(enabled);
}
}

private void updateSlots() {
Iterator<IMultiplayerSlot> slotIter = connector.getSlots().getItems().iterator();

for (int i = 0; i < playerSlotPresenters.size() && slotIter.hasNext(); i++) {
Expand All @@ -109,13 +111,7 @@ private void updateSlots() {

boolean isMe = player.getId().equals(androidPreferences.getPlayerId());

if (isMe) {
playerSlotPresenter.setControlsEnabled(true);
playerSlotPresenter.setReadyListener(this);
} else {
playerSlotPresenter.setControlsEnabled(false);
playerSlotPresenter.setReadyListener(null);
}
playerSlotPresenter.setReadyListener(isMe ? this : null);
} else {
playerSlotPresenter.setName("Computer " + i);
playerSlotPresenter.setShowReadyControl(false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ public class NewMultiPlayerSetupViewModel extends MultiPlayerSetupViewModel {

public NewMultiPlayerSetupViewModel(GameStarter gameStarter, AndroidPreferences androidPreferences, IJoinPhaseMultiplayerGameConnector connector, MapLoader mapLoader) {
super(gameStarter, androidPreferences, connector, mapLoader);

setAllPlayerSlotsEnabled(true);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,11 @@ public interface PlayerSlotView {

void hideReadyControl();

void setControlsEnabled();
void setReadyControlsEnabled();

void setControlsDisabled();
void setReadyControlsDisabled();

void setPlayerControlsEnabled();

void setPlayerControlsDisabled();
}
Original file line number Diff line number Diff line change
Expand Up @@ -60,10 +60,16 @@ public void initView(PlayerSlotView view) {
view.hideReadyControl();
}

if(readyListener != null) {
view.setReadyControlsEnabled();
} else {
view.setReadyControlsDisabled();
}

if (controlsEnabled) {
view.setControlsEnabled();
view.setPlayerControlsEnabled();
} else {
view.setControlsDisabled();
view.setPlayerControlsDisabled();
}

view.setPossibleCivilisations(possibleCivilisations);
Expand Down

0 comments on commit 005e80b

Please sign in to comment.