src/ai/api/ai_enginelist_valuator.hpp
author truebrain
Tue, 26 Feb 2008 18:32:35 +0000
branchnoai
changeset 9778 38560cd27070
parent 9772 c1035f0ac732
permissions -rw-r--r--
(svn r12273) [NoAI] -Documentation: big change of many list-related comments. It is now more readable, more explaining, and all unneeded things (API-wise) are removed
/* $Id$ */

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

#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 Can only operate on an AIEngineList instance.
 * @ingroup AIEngineList
 */
class AIEngineList_vCargoType : public AIAbstractList::Valuator {
public:
	static const char *GetClassName() { return "AIEngineList_vCargoType"; }

private:
	const char *GetListName() const { return "AIEngineList"; }
	int32 Valuate(int32 engine_id) const;
};

/**
 * Get the capacity for entries in an AIEngineList instance.
 * @note Resulting items are of the type int32.
 * @note Can only operate on an AIEngineList instance.
 * @ingroup AIEngineList
 */
class AIEngineList_vCapacity : public AIAbstractList::Valuator {
public:
	static const char *GetClassName() { return "AIEngineList_vCapacity"; }

private:
	const char *GetListName() const { return "AIEngineList"; }
	int32 Valuate(int32 engine_id) const;
};

/**
 * Get the reliability for entries in an AIEngineList instance.
 * @note Resulting items are of the type int32.
 * @note Can only operate on an AIEngineList instance.
 * @ingroup AIEngineList
 */
class AIEngineList_vReliability : public AIAbstractList::Valuator {
public:
	static const char *GetClassName() { return "AIEngineList_vReliability"; }

private:
	const char *GetListName() const { return "AIEngineList"; }
	int32 Valuate(int32 engine_id) const;
};

/**
 * Get the max speed for entries in an AIEngineList instance.
 * @note Resulting items are of the type int32.
 * @note Can only operate on an AIEngineList instance.
 * @ingroup AIEngineList
 */
class AIEngineList_vMaxSpeed : public AIAbstractList::Valuator {
public:
	static const char *GetClassName() { return "AIEngineList_vMaxSpeed"; }

private:
	const char *GetListName() const { return "AIEngineList"; }
	int32 Valuate(int32 engine_id) const;
};

/**
 * Get the price for entries in an AIEngineList instance.
 * @note Resulting items are of the type int32.
 * @note Can only operate on an AIEngineList instance.
 * @ingroup AIEngineList
 */
class AIEngineList_vPrice : public AIAbstractList::Valuator {
public:
	static const char *GetClassName() { return "AIEngineList_vPrice"; }

private:
	const char *GetListName() const { return "AIEngineList"; }
	int32 Valuate(int32 engine_id) const;
};

#endif /* AI_ENGINELIST_VALUATOR_HPP */