GameLogic
 All Data Structures Files Functions Variables Friends
Public Member Functions | Protected Attributes
gameController::Interference Class Referenceabstract
Inheritance diagram for gameController::Interference:
gameController::BlockCell gameController::Impulse gameController::RangedAttack gameController::SnitchPush gameController::Teleport

Public Member Functions

 Interference (std::shared_ptr< gameModel::Environment > env, std::shared_ptr< gameModel::Team > team, gameModel::InterferenceType type)
 
virtual auto execute () const -> gameController::ActionCheckResult=0
 
virtual bool isPossible () const
 
auto getType () const -> gameModel::InterferenceType
 

Protected Attributes

std::shared_ptr
< gameModel::Environment
env
 
std::shared_ptr< gameModel::Teamteam
 
gameModel::InterferenceType type
 

Member Function Documentation

virtual auto gameController::Interference::execute ( ) const -> gameController::ActionCheckResult
pure virtual

Executes the interference.

Returns
the results of the executed action as gameController::ActionCheckResult: Foul if Interference was detected, Success otherwise

Implemented in gameController::BlockCell, gameController::SnitchPush, gameController::Impulse, gameController::RangedAttack, and gameController::Teleport.

auto gameController::Interference::getType ( ) const -> gameModel::InterferenceType

Gets the type of interference.

Returns
the type of the interference as gameModel::InterferenceType
bool gameController::Interference::isPossible ( ) const
virtual

Checks if the interference is possible

Returns
true if possible, else false

Reimplemented in gameController::BlockCell, gameController::RangedAttack, and gameController::Teleport.


The documentation for this class was generated from the following files: