/* $Id$ */
/** @file ai_vehiclelist_valuator.hpp all the valuators for vehiclelist */
#ifndef AI_VEHICLELIST_VALUATOR_HPP
#define AI_VEHICLELIST_VALUATOR_HPP
#include "ai_abstractlist.hpp"
/**
* Get the location for entries in an AIVehicleList instance.
* @note resulting items are of the type TileIndex
* @note the input items are of the type VehicleID
*/
class AIVehicleListLocation : public AIAbstractList::Valuator {
public:
/**
* The name of the class, needed by several sub-processes.
*/
static const char *GetClassName() { return "AIVehicleListGetLocation"; }
private:
int32 Valuate(int32 town) const;
};
/**
* Get the engine-type for entries in an AIVehicleList instance.
* @note resulting items are of the type EngineID
* @note the input items are of the type VehicleID
*/
class AIVehicleListEngineType : public AIAbstractList::Valuator {
public:
/**
* The name of the class, needed by several sub-processes.
*/
static const char *GetClassName() { return "AIVehicleListEngineType"; }
private:
int32 Valuate(int32 town) const;
};
/**
* Get the unit number for entries in an AIVehicleList instance.
* @note resulting items are of the type int32
* @note the input items are of the type VehicleID
*/
class AIVehicleListUnitNumber : public AIAbstractList::Valuator {
public:
/**
* The name of the class, needed by several sub-processes.
*/
static const char *GetClassName() { return "AIVehicleListUnitNumber"; }
private:
int32 Valuate(int32 town) const;
};
/**
* Get the age for entries in an AIVehicleList instance.
* @note resulting items are of the type int32 (age in days)
* @note the input items are of the type VehicleID
*/
class AIVehicleListAge : public AIAbstractList::Valuator {
public:
/**
* The name of the class, needed by several sub-processes.
*/
static const char *GetClassName() { return "AIVehicleListAge"; }
private:
int32 Valuate(int32 town) const;
};
/**
* Get the max age for entries in an AIVehicleList instance.
* @note resulting items are of the type int32 (age in days)
* @note the input items are of the type VehicleID
*/
class AIVehicleListMaxAge : public AIAbstractList::Valuator {
public:
/**
* The name of the class, needed by several sub-processes.
*/
static const char *GetClassName() { return "AIVehicleListMaxAge"; }
private:
int32 Valuate(int32 town) const;
};
/**
* Get the age left for the vehicle gets 'old' for entries in an AIVehicleList instance.
* @note resulting items are of the type int32 (age in days)
* @note the input items are of the type VehicleID
*/
class AIVehicleListAgeLeft : public AIAbstractList::Valuator {
public:
/**
* The name of the class, needed by several sub-processes.
*/
static const char *GetClassName() { return "AIVehicleListAgeLeft"; }
private:
int32 Valuate(int32 town) const;
};
/**
* Get the profit of this year for entries in an AIVehicleList instance.
* @note resulting items are of the type int32 (age in days)
* @note the input items are of the type VehicleID
*/
class AIVehicleListProfitThisYear : public AIAbstractList::Valuator {
public:
/**
* The name of the class, needed by several sub-processes.
*/
static const char *GetClassName() { return "AIVehicleListProfitThisYear"; }
private:
int32 Valuate(int32 town) const;
};
/**
* Get the profit of last year for entries in an AIVehicleList instance.
* @note resulting items are of the type int32 (age in days)
* @note the input items are of the type VehicleID
*/
class AIVehicleListProfitLastYear : public AIAbstractList::Valuator {
public:
/**
* The name of the class, needed by several sub-processes.
*/
static const char *GetClassName() { return "AIVehicleListProfitLastYear"; }
private:
int32 Valuate(int32 town) const;
};
#endif /* AI_VEHICLELIST_VALUATOR_HPP */