(svn r12294) [NoAI] -Add: added AIBridge(List), which lists all available bridges (no build yet)
/* $Id$ */
/** @file ai_vehiclelist_valuator.hpp all the valuators for AIVehicleList */
#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 Can only operate on an AIVehicleList instance.
* @ingroup AIVehicleList
*/
class AIVehicleList_vLocation : public AIAbstractList::Valuator {
public:
static const char *GetClassName() { return "AIVehicleList_vGetLocation"; }
private:
const char *GetListName() const { return "AIVehicleList"; }
int32 Valuate(int32 vehicle_id) const;
};
/**
* Get the engine-type for entries in an AIVehicleList instance.
* @note Resulting items are of the type EngineID.
* @note Can only operate on an AIVehicleList instance.
* @ingroup AIVehicleList
*/
class AIVehicleList_vEngineType : public AIAbstractList::Valuator {
public:
static const char *GetClassName() { return "AIVehicleList_vEngineType"; }
private:
const char *GetListName() const { return "AIVehicleList"; }
int32 Valuate(int32 vehicle_id) const;
};
/**
* Get the unit number for entries in an AIVehicleList instance.
* @note Resulting items are of the type int32.
* @note Can only operate on an AIVehicleList instance.
* @ingroup AIVehicleList
*/
class AIVehicleList_vUnitNumber : public AIAbstractList::Valuator {
public:
static const char *GetClassName() { return "AIVehicleList_vUnitNumber"; }
private:
const char *GetListName() const { return "AIVehicleList"; }
int32 Valuate(int32 vehicle_id) const;
};
/**
* Get the age for entries in an AIVehicleList instance.
* @note Resulting items are of the type int32 (age in days).
* @note Can only operate on an AIVehicleList instance.
* @ingroup AIVehicleList
*/
class AIVehicleList_vAge : public AIAbstractList::Valuator {
public:
static const char *GetClassName() { return "AIVehicleList_vAge"; }
private:
const char *GetListName() const { return "AIVehicleList"; }
int32 Valuate(int32 vehicle_id) const;
};
/**
* Get the max age for entries in an AIVehicleList instance.
* @note Resulting items are of the type int32 (age in days).
* @note Can only operate on an AIVehicleList instance.
* @ingroup AIVehicleList
*/
class AIVehicleList_vMaxAge : public AIAbstractList::Valuator {
public:
static const char *GetClassName() { return "AIVehicleList_vMaxAge"; }
private:
const char *GetListName() const { return "AIVehicleList"; }
int32 Valuate(int32 vehicle_id) 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 Can only operate on an AIVehicleList instance.
* @ingroup AIVehicleList
*/
class AIVehicleList_vAgeLeft : public AIAbstractList::Valuator {
public:
static const char *GetClassName() { return "AIVehicleList_vAgeLeft"; }
private:
const char *GetListName() const { return "AIVehicleList"; }
int32 Valuate(int32 vehicle_id) 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 Can only operate on an AIVehicleList instance.
* @ingroup AIVehicleList
*/
class AIVehicleList_vProfitThisYear : public AIAbstractList::Valuator {
public:
static const char *GetClassName() { return "AIVehicleList_vProfitThisYear"; }
private:
const char *GetListName() const { return "AIVehicleList"; }
int32 Valuate(int32 vehicle_id) 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 Can only operate on an AIVehicleList instance.
* @ingroup AIVehicleList
*/
class AIVehicleList_vProfitLastYear : public AIAbstractList::Valuator {
public:
static const char *GetClassName() { return "AIVehicleList_vProfitLastYear"; }
private:
const char *GetListName() const { return "AIVehicleList"; }
int32 Valuate(int32 vehicle_id) const;
};
/**
* Get the type of the vehicle for entries in an AIVehicleList instance.
* @note Resulting items are of the type AIVehicle::VehicleType.
* @note Can only operate on an AIVehicleList instance.
* @ingroup AIVehicleList
*/
class AIVehicleList_vVehicleType : public AIAbstractList::Valuator {
public:
static const char *GetClassName() { return "AIVehicleList_vVehicleType"; }
private:
const char *GetListName() const { return "AIVehicleList"; }
int32 Valuate(int32 vehicle_id) const;
};
#endif /* AI_VEHICLELIST_VALUATOR_HPP */