Updated 'ChoosePieceState' class.
Updated the 'ChoosePieceState' to work correctly as a state automaton.
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
import pp.mdga.server.ServerGameLogic;
|
||||
import pp.mdga.server.automaton.game.TurnState;
|
||||
import pp.mdga.server.automaton.game.turn.choosepiece.*;
|
||||
|
||||
public class ChoosePieceState extends TurnAutomatonState {
|
||||
/**
|
||||
@@ -9,6 +10,16 @@ public class ChoosePieceState extends TurnAutomatonState {
|
||||
*/
|
||||
private static final System.Logger LOGGER = System.getLogger(ChoosePieceState.class.getName());
|
||||
|
||||
/**
|
||||
* Create ChoosePieceState attributes.
|
||||
*/
|
||||
private ChoosePieceAutomatonState currentState;
|
||||
private final NoPieceState noPieceState;
|
||||
private final NoTurnState noTurnState;
|
||||
private final WaitingPieceState waitingPieceState;
|
||||
private final StartPieceState startPieceState;
|
||||
private final SelectPieceState selectPieceState;
|
||||
|
||||
/**
|
||||
* Constructs a server state of the specified game logic.
|
||||
*
|
||||
@@ -17,6 +28,12 @@ public class ChoosePieceState extends TurnAutomatonState {
|
||||
*/
|
||||
public ChoosePieceState(TurnState turnAutomaton, ServerGameLogic logic) {
|
||||
super(turnAutomaton, logic);
|
||||
this.noPieceState = new NoPieceState(this, logic);
|
||||
this.noTurnState = new NoTurnState(this, logic);
|
||||
this.waitingPieceState = new WaitingPieceState(this, logic);
|
||||
this.startPieceState = new StartPieceState(this, logic);
|
||||
this.selectPieceState = new SelectPieceState(this, logic);
|
||||
this.setCurrentState(this.noPieceState);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -28,4 +45,27 @@ public void enter() {
|
||||
public void exit() {
|
||||
LOGGER.log(System.Logger.Level.DEBUG, "Entered ChoosePieceState state.");
|
||||
}
|
||||
|
||||
/**
|
||||
* This method will be used to return currentState attribute of ChoosePieceState class.
|
||||
*
|
||||
* @return currentState as a
|
||||
*/
|
||||
public ChoosePieceAutomatonState getCurrentState() {
|
||||
return this.currentState;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method will be used to set currentState attribute of ChoosePieceState class to the given state parameter.
|
||||
* In Addition, the currentState will be exited, changed and entered.
|
||||
*
|
||||
* @param state as the new currentState attribute as a ChoosePieceAutomatonState object.
|
||||
*/
|
||||
public void setCurrentState(ChoosePieceAutomatonState state) {
|
||||
if (this.currentState != null) {
|
||||
this.currentState.exit();
|
||||
}
|
||||
this.currentState = state;
|
||||
this.currentState.enter();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user