CommandCost Class Reference

Common return value for all commands. More...

#include <command_type.h>


Public Member Functions

 CommandCost ()
 Creates a command cost return with no cost and no error.
 CommandCost (StringID msg)
 Creates a command return value the is failed with the given message.
 CommandCost (ExpensesType ex_t)
 Creates a command cost with given expense type and start cost of 0.
 CommandCost (ExpensesType ex_t, Money cst)
 Creates a command return value with the given start cost and expense type.
CommandCost AddCost (CommandCost ret)
 Adds the cost of the given command return value to this cost.
CommandCost AddCost (Money cost)
 Adds the given cost to the cost of the command.
CommandCost MultiplyCost (int factor)
 Multiplies the cost of the command by the given factor.
Money GetCost () const
 The costs as made up to this moment.
ExpensesType GetExpensesType () const
 The expense type of the cost.
void SetGlobalErrorMessage () const
 Sets the global error message *if* this class has one.
StringID GetErrorMessage () const
 Returns the error message of a command.
bool Succeeded () const
 Did this command succeed?
bool Failed () const
 Did this command fail?

Private Attributes

ExpensesType expense_type
 the type of expence as shown on the finances view
Money cost
 The cost of this action.
StringID message
 Warning message for when success is unset.
bool success
 Whether the comment went fine up to this moment.


Detailed Description

Common return value for all commands.

Wraps the cost and a possible error message/state together.

Definition at line 23 of file command_type.h.


Constructor & Destructor Documentation

CommandCost::CommandCost ( ExpensesType  ex_t  )  [inline]

Creates a command cost with given expense type and start cost of 0.

Parameters:
ex_t the expense type

Definition at line 44 of file command_type.h.

CommandCost::CommandCost ( ExpensesType  ex_t,
Money  cst 
) [inline]

Creates a command return value with the given start cost and expense type.

Parameters:
ex_t the expense type
cst the initial cost of this command

Definition at line 51 of file command_type.h.


Member Function Documentation

CommandCost CommandCost::AddCost ( CommandCost  ret  ) 

CommandCost CommandCost::AddCost ( Money  cost  )  [inline]

Adds the given cost to the cost of the command.

Parameters:
cost the cost to add
Returns:
this class.

Definition at line 66 of file command_type.h.

CommandCost CommandCost::MultiplyCost ( int  factor  )  [inline]

Multiplies the cost of the command by the given factor.

Parameters:
factor factor to multiply the costs with
Returns:
this class

Definition at line 77 of file command_type.h.

References cost.

Referenced by CmdBuildRoad(), and CmdFoundTown().

Money CommandCost::GetCost (  )  const [inline]

ExpensesType CommandCost::GetExpensesType (  )  const [inline]

The expense type of the cost.

Returns:
the expense type

Definition at line 96 of file command_type.h.

References expense_type.

StringID CommandCost::GetErrorMessage (  )  const [inline]

Returns the error message of a command.

Returns:
the error message, if succeeded INVALID_STRING_ID

Definition at line 114 of file command_type.h.

References INVALID_STRING_ID, message, and success.

Referenced by CmdDepotMassAutoReplace().

bool CommandCost::Succeeded (  )  const [inline]

Did this command succeed?

Returns:
true if and only if it succeeded

Definition at line 127 of file command_type.h.

References success.

Referenced by BuildReplacementVehicle(), CmdAutoreplaceVehicle(), CmdSucceeded(), CopyHeadSpecificThings(), and ReplaceChain().

bool CommandCost::Failed (  )  const [inline]

Did this command fail?

Returns:
true if and only if it failed

Definition at line 136 of file command_type.h.

References success.

Referenced by BuildReplacementVehicle(), CmdAutoreplaceVehicle(), CmdBuildRailWaypoint(), CmdFailed(), CmdMoveRailVehicle(), CmdRemoveFromRailStation(), CmdSellRailWagon(), and ValidateTrains().


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

Generated on Wed Dec 23 23:28:15 2009 for OpenTTD by  doxygen 1.5.6