src/ai/api/ai_enginelist_valuator.hpp
author truebrain
Sun, 24 Feb 2008 23:00:00 +0000
branchnoai
changeset 9756 7e637829cbd3
parent 9753 7209db94ad12
child 9772 c1035f0ac732
permissions -rw-r--r--
(svn r12241) [NoAI] -Fix r12236: global search/replace to the unreadable documentation! WHOHO! (tnx Progman)
/* $Id$ */

/** @file ai_enginelist_valuator.hpp all the valuators for enginelist */

#ifndef AI_ENGINELIST_VALUATOR_HPP
#define AI_ENGINELIST_VALUATOR_HPP

#include "ai_abstractlist.hpp"

/**
 * Get the cargo-type for entries in an AIEngineList instance.
 * @note resulting items are of the type CargoID
 * @note the input items are of the type EngineID
 */
class AIEngineList_vCargoType : public AIAbstractList::Valuator {
public:
	/**
	 * The name of the class, needed by several sub-processes.
	 */
	static const char *GetClassName() { return "AIEngineList_vCargoType"; }

private:
	int32 Valuate(int32 engine) const;
};

/**
 * Get the capacity for entries in an AIEngineList instance.
 * @note resulting items are of the type int32
 * @note the input items are of the type EngineID
 */
class AIEngineList_vCapacity : public AIAbstractList::Valuator {
public:
	/**
	 * The name of the class, needed by several sub-processes.
	 */
	static const char *GetClassName() { return "AIEngineList_vCapacity"; }

private:
	int32 Valuate(int32 engine) const;
};

/**
 * Get the reliability for entries in an AIEngineList instance.
 * @note resulting items are of the type int32
 * @note the input items are of the type EngineID
 */
class AIEngineList_vReliability : public AIAbstractList::Valuator {
public:
	/**
	 * The name of the class, needed by several sub-processes.
	 */
	static const char *GetClassName() { return "AIEngineList_vReliability"; }

private:
	int32 Valuate(int32 engine) const;
};

/**
 * Get the max speed for entries in an AIEngineList instance.
 * @note resulting items are of the type int32
 * @note the input items are of the type EngineID
 */
class AIEngineList_vMaxSpeed : public AIAbstractList::Valuator {
public:
	/**
	 * The name of the class, needed by several sub-processes.
	 */
	static const char *GetClassName() { return "AIEngineList_vMaxSpeed"; }

private:
	int32 Valuate(int32 engine) const;
};

/**
 * Get the price for entries in an AIEngineList instance.
 * @note resulting items are of the type int32
 * @note the input items are of the type EngineID
 */
class AIEngineList_vPrice : public AIAbstractList::Valuator {
public:
	/**
	 * The name of the class, needed by several sub-processes.
	 */
	static const char *GetClassName() { return "AIEngineList_vPrice"; }

private:
	int32 Valuate(int32 engine) const;
};

#endif /* AI_ENGINELIST_VALUATOR_HPP */