(svn r16714) -Codechange: use pool-like accessors for Subsidy

This commit is contained in:
smatz
2009-07-01 18:45:05 +00:00
parent aaeb53066d
commit 76a50ce94d
16 changed files with 146 additions and 66 deletions

View File

@@ -4,27 +4,27 @@
#include "ai_subsidy.hpp"
#include "ai_date.hpp"
#include "../../subsidy_type.h"
#include "../../subsidy_base.h"
#include "../../station_base.h"
#include "../../cargotype.h"
/* static */ bool AISubsidy::IsValidSubsidy(SubsidyID subsidy_id)
{
return subsidy_id < lengthof(_subsidies) && _subsidies[subsidy_id].cargo_type != CT_INVALID;
return Subsidy::IsValidID(subsidy_id);
}
/* static */ bool AISubsidy::IsAwarded(SubsidyID subsidy_id)
{
if (!IsValidSubsidy(subsidy_id)) return false;
return _subsidies[subsidy_id].age >= 12;
return Subsidy::Get(subsidy_id)->age >= 12;
}
/* static */ AICompany::CompanyID AISubsidy::GetAwardedTo(SubsidyID subsidy_id)
{
if (!IsAwarded(subsidy_id)) return AICompany::COMPANY_INVALID;
return (AICompany::CompanyID)((byte)Station::Get(_subsidies[subsidy_id].from)->owner);
return (AICompany::CompanyID)((byte)Station::Get(Subsidy::Get(subsidy_id)->from)->owner);
}
/* static */ int32 AISubsidy::GetExpireDate(SubsidyID subsidy_id)
@@ -35,9 +35,9 @@
int month = AIDate::GetMonth(AIDate::GetCurrentDate());
if (IsAwarded(subsidy_id)) {
month += 24 - _subsidies[subsidy_id].age;
month += 24 - Subsidy::Get(subsidy_id)->age;
} else {
month += 12 - _subsidies[subsidy_id].age;
month += 12 - Subsidy::Get(subsidy_id)->age;
}
year += (month - 1) / 12;
@@ -50,7 +50,7 @@
{
if (!IsValidSubsidy(subsidy_id)) return CT_INVALID;
return _subsidies[subsidy_id].cargo_type;
return Subsidy::Get(subsidy_id)->cargo_type;
}
/* static */ bool AISubsidy::SourceIsTown(SubsidyID subsidy_id)
@@ -65,7 +65,7 @@
{
if (!IsValidSubsidy(subsidy_id)) return INVALID_STATION;
return _subsidies[subsidy_id].from;
return Subsidy::Get(subsidy_id)->from;
}
/* static */ bool AISubsidy::DestinationIsTown(SubsidyID subsidy_id)
@@ -87,5 +87,5 @@
{
if (!IsValidSubsidy(subsidy_id)) return INVALID_STATION;
return _subsidies[subsidy_id].to;
return Subsidy::Get(subsidy_id)->to;
}

View File

@@ -4,12 +4,12 @@
#include "ai_subsidylist.hpp"
#include "ai_subsidy.hpp"
#include "../../subsidy_type.h"
#include "../../subsidy_base.h"
AISubsidyList::AISubsidyList()
{
const Subsidy *s;
FOR_ALL_SUBSIDIES(s) {
this->AddItem(s - _subsidies);
this->AddItem(s->Index());
}
}