1
0
Fork 0

(svn r12591) -Codechange: move CommandCost accessors to header file, 8kB of binary size saved

release/0.7
smatz 2008-04-06 14:50:37 +00:00
parent d6623cf654
commit aaa1b0744a
2 changed files with 40 additions and 57 deletions

View File

@ -668,52 +668,3 @@ callb_err:
ClearStorageChanges(false); ClearStorageChanges(false);
return false; return false;
} }
CommandCost CommandCost::AddCost(CommandCost ret)
{
this->AddCost(ret.cost);
if (this->success && !ret.success) {
this->message = ret.message;
this->success = false;
}
return *this;
}
CommandCost CommandCost::AddCost(Money cost)
{
this->cost += cost;
return *this;
}
CommandCost CommandCost::MultiplyCost(int factor)
{
this->cost *= factor;
return *this;
}
Money CommandCost::GetCost() const
{
return this->cost;
}
ExpensesType CommandCost::GetExpensesType() const
{
return this->expense_type;
}
void CommandCost::SetGlobalErrorMessage() const
{
extern StringID _error_message;
if (this->message != INVALID_STRING_ID) _error_message = this->message;
}
bool CommandCost::Succeeded() const
{
return this->success;
}
bool CommandCost::Failed() const
{
return !this->success;
}

View File

@ -49,50 +49,82 @@ public:
* @param ret the command to add the cost of. * @param ret the command to add the cost of.
* @return this class. * @return this class.
*/ */
CommandCost AddCost(CommandCost ret); CommandCost AddCost(CommandCost ret)
{
this->AddCost(ret.cost);
if (this->success && !ret.success) {
this->message = ret.message;
this->success = false;
}
return *this;
}
/** /**
* Adds the given cost to the cost of the command. * Adds the given cost to the cost of the command.
* @param cost the cost to add * @param cost the cost to add
* @return this class. * @return this class.
*/ */
CommandCost AddCost(Money cost); CommandCost AddCost(Money cost)
{
this->cost += cost;
return *this;
}
/** /**
* Multiplies the cost of the command by the given factor. * Multiplies the cost of the command by the given factor.
* @param cost factor to multiply the costs with * @param cost factor to multiply the costs with
* @return this class * @return this class
*/ */
CommandCost MultiplyCost(int factor); CommandCost MultiplyCost(int factor)
{
this->cost *= factor;
return *this;
}
/** /**
* The costs as made up to this moment * The costs as made up to this moment
* @return the costs * @return the costs
*/ */
Money GetCost() const; Money GetCost() const
{
return this->cost;
}
/** /**
* The expense type of the cost * The expense type of the cost
* @return the expense type * @return the expense type
*/ */
ExpensesType GetExpensesType() const; ExpensesType GetExpensesType() const
{
return this->expense_type;
}
/** /**
* Sets the global error message *if* this class has one. * Sets the global error message *if* this class has one.
*/ */
void SetGlobalErrorMessage() const; void SetGlobalErrorMessage() const
{
extern StringID _error_message;
if (this->message != INVALID_STRING_ID) _error_message = this->message;
}
/** /**
* Did this command succeed? * Did this command succeed?
* @return true if and only if it succeeded * @return true if and only if it succeeded
*/ */
bool Succeeded() const; bool Succeeded() const
{
return this->success;
}
/** /**
* Did this command fail? * Did this command fail?
* @return true if and only if it failed * @return true if and only if it failed
*/ */
bool Failed() const; bool Failed() const
{
return !this->success;
}
}; };
/** /**