Package megamek.common.game
Class GameTurn
java.lang.Object
megamek.common.game.AbstractPlayerTurn
megamek.common.game.GameTurn
- All Implemented Interfaces:
Serializable,PlayerTurn
- Direct Known Subclasses:
EntityClassTurn,PrephaseTurn,SpecificEntityTurn,UnitNumberTurn,UnloadStrandedTurn
Represents a single turn within a phase of the game, where a specific player has to declare his/her action. The
default game turn allows a player to move any entity.
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanReturns true if this player turn requires the player to provide actions for more than one unit.booleanbooleanisValidEntity(InGameObject unit, IGame game) booleanisValidEntity(Entity entity, Game game) Determine if the specified entity is a valid one to use for this turn.booleanisValidEntity(Entity entity, Game game, boolean useValidNonInfantryCheck) Determine if the specified entity is a valid one to use for this turn.voidsetMultiTurn(boolean isMultiTurn) Methods inherited from class megamek.common.game.AbstractPlayerTurn
playerId, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface megamek.common.interfaces.PlayerTurn
isValid, isValid
-
Constructor Details
-
GameTurn
public GameTurn(int playerId) Creates a new instance of GameTurn
-
-
Method Details
-
isValidEntity
Determine if the specified entity is a valid one to use for this turn.- Parameters:
entity- theEntitythat may take this turn.game- TheGamethe turn belongs to- Returns:
trueif the specified entity can take this turn.falseif the entity is not valid for this turn.
-
isValidEntity
Determine if the specified entity is a valid one to use for this turn.In addition to the "standard" validity checks, there is also a check for the optional rules "infantry move later" and "ProtoMeks move later." This checks to see if those options are enabled and if there is a valid non-infantry (or proto) unit to move and if so, the entity is invalid.
There are certain instances where this check should not be used when the optional rules are enabled (such as loading infantry into a unit). Hence, the use of these additional checks is specified by a boolean input parameter.
- Parameters:
entity- theEntitythat may take this turn.game- TheGamethe turn belongs touseValidNonInfantryCheck- Boolean that determines if we should check to see if infantry can be moved yet- Returns:
trueif the specified entity can take this turn.falseif the entity is not valid for this turn.
-
isValidEntity
- Returns:
- true if the given unit may act in this turn
-
isValid
- Returns:
- true if the player and entity are both valid.
-
isMultiTurn
public boolean isMultiTurn()Description copied from interface:PlayerTurnReturns true if this player turn requires the player to provide actions for more than one unit. This is true for example when vehicles must be moved as a lance. This is not equivalent to providing multiple actions, such as in firing multiple weapons. That is not considered a multi-turn. By default, this method returns false.- Returns:
- True when this turn requires actions for at least two units
-
setMultiTurn
public void setMultiTurn(boolean isMultiTurn)
-