Advanced Strategic Command
Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends | List of all members
DirectResearchCommand Class Reference

cancels the research on the current technology, losing all research points More...

#include <directresearchcommand.h>

Inheritance diagram for DirectResearchCommand:
Inheritance graph
[legend]

Public Member Functions

 DirectResearchCommand (Player &player)
 
vector< const Technology * > getAvailableTechnologies (bool longTerm)
 returns the technologies that can be researched by the player More...
 
void setTechnology (const Technology *tech)
 
ASCString getCommandString () const
 
- Public Member Functions inherited from Command
State getState () const
 
ActionResult redo (const Context &context)
 
virtual vector< MapCoordinategetCoordinates () const
 this is for informational purposes, so the player can see where a Command has taken place when reviewing it More...
 
- Public Member Functions inherited from GameAction
ActionResult execute (const Context &context)
 
ActionResult undo (const Context &context)
 
void read (tnstream &stream)
 
void write (tnstream &stream) const
 
void write (tnstream &stream, bool persistChildren) const
 
virtual ~GameAction ()
 

Static Public Member Functions

static bool available (const Player &player)
 
- Static Public Member Functions inherited from GameAction
static GameActionreadFromStream (tnstream &stream, GameMap *map)
 

Protected Member Functions

GameActionID getID () const
 
ASCString getDescription () const
 
ActionResult go (const Context &context)
 
void readData (tnstream &stream)
 
void writeData (tnstream &stream) const
 
ActionResult undoAction (const Context &context)
 
- Protected Member Functions inherited from Command
 Command (GameMap *gamemap)
 
void setState (State state)
 
virtual ActionResult runAction (const Context &context)
 
virtual ActionResult checkExecutionPrecondition () const
 
- Protected Member Functions inherited from GameAction
void deleteChildren ()
 
 GameAction (GameMap *map)
 
void addChild (GameAction *action)
 adds a child action. Ownership of the child action is passed to THIS More...
 
virtual ActionResult preCheck ()
 preCheck is called before an action is redone and should check the preconditions for the action. More...
 
virtual ActionResult postCheck ()
 postCheck is called after an action has been redone and should check that the state of the map is exactly the same as it was after the action has been executed the first time. More...
 
virtual bool undoOrderChildFirst () const
 determines the order in which the child actions are undone. More...
 
GameMapgetMap ()
 
const GameMapgetMap () const
 

Friends

template<class Child >
GameActionGameActionCreator (GameMap *map)
 

Additional Inherited Members

- Public Types inherited from Command
enum  State {
  Planned, Evaluated, SetUp, Run,
  Finished, Failed
}
 

Detailed Description

cancels the research on the current technology, losing all research points

Definition at line 33 of file directresearchcommand.h.

Constructor & Destructor Documentation

DirectResearchCommand::DirectResearchCommand ( Player player)

Definition at line 38 of file directresearchcommand.cpp.

References Player::getPosition().

Member Function Documentation

bool DirectResearchCommand::available ( const Player player)
static
vector< const Technology * > DirectResearchCommand::getAvailableTechnologies ( bool  longTerm)

returns the technologies that can be researched by the player

Parameters
longTermif false, then only technologies are returned, for which all prerequisite technologies are already researched. if true, then also return technologies for which the prerequisite technologies must still be researched

Definition at line 74 of file directresearchcommand.cpp.

References Available, Technology::eventually_available(), GameAction::getMap(), GameMap::getPlayer(), Player::research, Research::techAvailable(), and technologyRepository.

Referenced by go(), TechnologySelectionItemFactory::restart(), testresearch1(), and testresearch2().

ASCString DirectResearchCommand::getCommandString ( ) const
virtual

Implements Command.

Definition at line 179 of file directresearchcommand.cpp.

References ASCString::format().

ASCString DirectResearchCommand::getDescription ( ) const
protectedvirtual

Implements GameAction.

Definition at line 191 of file directresearchcommand.cpp.

References ASCString::toString().

GameActionID DirectResearchCommand::getID ( ) const
protectedvirtual

Implements GameAction.

Definition at line 186 of file directresearchcommand.cpp.

References ActionRegistry::DirectResearchCommand.

ActionResult DirectResearchCommand::go ( const Context context)
protectedvirtual
void DirectResearchCommand::readData ( tnstream stream)
protectedvirtual
void DirectResearchCommand::setTechnology ( const Technology tech)

Definition at line 97 of file directresearchcommand.cpp.

References Technology::id, Command::setState(), and Command::SetUp.

Referenced by testresearch1(), and testresearch2().

ActionResult DirectResearchCommand::undoAction ( const Context context)
protectedvirtual
void DirectResearchCommand::writeData ( tnstream stream) const
protectedvirtual

Friends And Related Function Documentation

template<class Child >
GameAction* GameActionCreator ( GameMap map)
friend

Definition at line 114 of file action.h.


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