ProjectLCore.GameActions Namespace

 

Classes

ActionProcessorBase A base class for processing actions using the visitor pattern. Each action should be verified by an ActionVerifier before being processed.
AsyncActionProcessorBase A base class for asynchronously processing actions using the visitor pattern. Each action should be verified by an ActionVerifier before being processed.
DoNothingAction Last resort action for AI players, they should never actually need to use it. It will always be accepted unless the game phase is FinishingTouches.
EndFinishingTouchesAction Represents the action of ending a player's turn during FinishingTouches
GameAction Represents an action that a player can take during their turn. Together with IActionProcessor and IAsyncActionProcessor it implements the visitor pattern. The validity of every action should be checked by an ActionVerifier before being processed.
GameActionProcessor Processes actions of one player in the game. The class is responsible for updating the game state based on the player's actions. It isn't responsible for verifying the actions. The actions should be verified by an ActionVerifier before being processed.
ChangeTetrominoAction Represents the action of changing a tetromino for a different one.
MasterAction Represents the use of the Master Action.
PlaceTetrominoAction Represents the action of placing a tetromino on a puzzle.
RecycleAction Represents the action of recycling puzzles. The player chooses a row to recycle. The puzzles from the row will be put to the bottom of the deck in the order specified by the player. The puzzle row is then refilled.
TakeBasicTetrominoAction Represents the action of taking a O1 tetromino from the shared reserve.
TakePuzzleAction Represents the action of taking a puzzle. Players can take puzzles from the top of the white deck, top of the black deck or a specific puzzle in one of the rows.
TetrominoAction The base class for TakeBasicTetrominoAction and ChangeTetrominoAction because they are technically the same action, just with different parameters.

Interfaces

IActionProcessor Defines an interface for processing game actions.
IAsyncActionProcessor Defines an interface for asynchronously processing game actions.

Enumerations

RecycleActionOptions Player can choose to recycle the white or the black row.
TakePuzzleActionOptions Possible options for taking a puzzle.