Add: [Script] Optional filter parameter to ScriptVehicleList constructor (#11663)

This commit is contained in:
Loïc Guilloux
2024-01-01 01:07:47 +01:00
committed by GitHub
parent f56a2d0f82
commit a672813bb0
6 changed files with 109 additions and 3 deletions

View File

@@ -20,7 +20,32 @@
*/
class ScriptVehicleList : public ScriptList {
public:
#ifdef DOXYGEN_API
ScriptVehicleList();
/**
* Apply a filter when building the list.
* @param filter_function The function which will be doing the filtering.
* @param params The params to give to the filters (minus the first param,
* which is always the index-value).
* @note You can write your own filters and use them. Just remember that
* the first parameter should be the index-value, and it should return
* a bool.
* @note Example:
* ScriptVehicleList(ScriptVehicle.IsInDepot);
* function IsType(vehicle_id, type)
* {
* return ScriptVehicle.GetVehicleType(vehicle_id) == type;
* }
* ScriptVehicleList(IsType, ScriptVehicle.VT_ROAD);
*/
ScriptVehicleList(void *filter_function, int params, ...);
#else
/**
* The constructor wrapper from Squirrel.
*/
ScriptVehicleList(HSQUIRRELVM vm);
#endif
};
/**