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