Advanced Strategic Command
Public Types | Public Member Functions | Protected Member Functions | Friends | List of all members
ChangeContainerProperty Class Reference

#include <changecontainerproperty.h>

Inheritance diagram for ChangeContainerProperty:
Inheritance graph
[legend]

Public Types

enum  Property { Damage, RepairedThisTurn }
 

Public Member Functions

 ChangeContainerProperty (ContainerBase *container, Property property, int value, bool valueIsAbsolute=true)
 
ASCString getDescription () const
 
- 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 ()
 

Protected Member Functions

virtual GameActionID getID () const
 
virtual ActionResult runAction (const Context &context)
 
virtual ActionResult undoAction (const Context &context)
 
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 void readData (tnstream &stream)
 
virtual void writeData (tnstream &stream) const
 
- Protected Member Functions inherited from ContainerAction
void setID (int id)
 should usually not be called, the ID should only be set through the constructor More...
 
ContainerBasegetContainer (bool dontThrow=false)
 
const ContainerBasegetContainer (bool dontThrow=false) const
 
void readData (tnstream &stream)
 
void writeData (tnstream &stream) const
 
 ContainerAction (ContainerBase *container)
 
 ContainerAction (GameMap *map)
 
- 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 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

- Static Public Member Functions inherited from GameAction
static GameActionreadFromStream (tnstream &stream, GameMap *map)
 

Detailed Description

Definition at line 29 of file changecontainerproperty.h.

Member Enumeration Documentation

Enumerator
Damage 
RepairedThisTurn 

Definition at line 31 of file changecontainerproperty.h.

Constructor & Destructor Documentation

ChangeContainerProperty::ChangeContainerProperty ( ContainerBase container,
Property  property,
int  value,
bool  valueIsAbsolute = true 
)

Definition at line 25 of file changecontainerproperty.cpp.

Member Function Documentation

ASCString ChangeContainerProperty::getDescription ( ) const
virtual
GameActionID ChangeContainerProperty::getID ( ) const
protectedvirtual

Implements GameAction.

Definition at line 86 of file changecontainerproperty.cpp.

References ActionRegistry::ChangeContainerProperty.

ActionResult ChangeContainerProperty::postCheck ( )
protectedvirtual

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.

The cheat detection of Replays heavily relies on this mechanism.

Reimplemented from GameAction.

Definition at line 145 of file changecontainerproperty.cpp.

References ContainerAction::getContainer().

ActionResult ChangeContainerProperty::preCheck ( )
protectedvirtual

preCheck is called before an action is redone and should check the preconditions for the action.

The map should be in exactly the same state as it was when the action was first run. This method should check various key indicators to insurce the unmodifiedness of the map. The cheat detection of Replays heavily relies on this mechanism.

Reimplemented from GameAction.

Definition at line 137 of file changecontainerproperty.cpp.

References ContainerAction::getContainer().

void ChangeContainerProperty::readData ( tnstream stream)
protectedvirtual

Implements GameAction.

Definition at line 58 of file changecontainerproperty.cpp.

References ContainerAction::readData(), and tnstream::readInt().

ActionResult ChangeContainerProperty::runAction ( const Context context)
protectedvirtual

Implements GameAction.

Definition at line 117 of file changecontainerproperty.cpp.

ActionResult ChangeContainerProperty::undoAction ( const Context context)
protectedvirtual

Implements GameAction.

Definition at line 131 of file changecontainerproperty.cpp.

void ChangeContainerProperty::writeData ( tnstream stream) const
protectedvirtual

Implements GameAction.

Definition at line 74 of file changecontainerproperty.cpp.

References ContainerAction::writeData(), and tnstream::writeInt().

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: