Skip to content

Instantly share code, notes, and snippets.

@SamuXarick
Last active February 22, 2023 11:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save SamuXarick/d9337407bc094417e2a5c41931df735a to your computer and use it in GitHub Desktop.
Save SamuXarick/d9337407bc094417e2a5c41931df735a to your computer and use it in GitHub Desktop.
AIList.Valuate <-
AIBridgeList.Valuate <-
AIBridgeList_Length.Valuate <-
AICargoList.Valuate <-
AICargoList_IndustryAccepting.Valuate <-
AICargoList_IndustryProducing.Valuate <-
AICargoList_StationAccepting.Valuate <-
AIDepotList.Valuate <-
AIEngineList.Valuate <-
AIGroupList.Valuate <-
AIIndustryList.Valuate <-
AIIndustryList_CargoAccepting.Valuate <-
AIIndustryList_CargoProducing.Valuate <-
AIIndustryTypeList.Valuate <-
AINewGRFList.Valuate <-
AIObjectTypeList.Valuate <-
AIRailTypeList.Valuate <-
AIRoadTypeList.Valuate <-
AISignList.Valuate <-
AIStationList.Valuate <-
AIStationList_Cargo.Valuate <-
AIStationList_CargoPlanned.Valuate <-
AIStationList_CargoPlannedByFrom.Valuate <-
AIStationList_CargoPlannedByVia.Valuate <-
AIStationList_CargoPlannedFromByVia.Valuate <-
AIStationList_CargoPlannedViaByFrom.Valuate <-
AIStationList_CargoWaiting.Valuate <-
AIStationList_CargoWaitingByFrom.Valuate <-
AIStationList_CargoWaitingByVia.Valuate <-
AIStationList_CargoWaitingFromByVia.Valuate <-
AIStationList_CargoWaitingViaByFrom.Valuate <-
AIStationList_Vehicle.Valuate <-
AISubsidyList.Valuate <-
AITileList.Valuate <-
AITileList_IndustryAccepting.Valuate <-
AITileList_IndustryProducing.Valuate <-
AITileList_StationType.Valuate <-
AITownEffectList.Valuate <-
AITownList.Valuate <-
AIVehicleList.Valuate <-
AIVehicleList_DefaultGroup.Valuate <-
AIVehicleList_Depot.Valuate <-
AIVehicleList_Group.Valuate <-
AIVehicleList_SharedOrders.Valuate <-
AIVehicleList_Station.Valuate <-
AIWaypointList.Valuate <-
AIWaypointList_Vehicle.Valuate <-
function(valuator_function, ...)
{
local copy_list = AIList();
copy_list.AddList(this);
copy_list.Sort(AIList.SORT_BY_ITEM, AIList.SORT_ASCENDING);
for (local item = copy_list.Begin(); !copy_list.IsEnd(); item = copy_list.Next()) {
local i = 0;
if (vargc == 0) copy_list.SetValue(item, valuator_function(item).tointeger());
if (vargc == 1) copy_list.SetValue(item, valuator_function(item, vargv[i++]).tointeger());
if (vargc == 2) copy_list.SetValue(item, valuator_function(item, vargv[i++], vargv[i++]).tointeger());
if (vargc == 3) copy_list.SetValue(item, valuator_function(item, vargv[i++], vargv[i++], vargv[i++]).tointeger());
if (vargc == 4) copy_list.SetValue(item, valuator_function(item, vargv[i++], vargv[i++], vargv[i++], vargv[i++]).tointeger());
if (vargc == 5) copy_list.SetValue(item, valuator_function(item, vargv[i++], vargv[i++], vargv[i++], vargv[i++], vargv[i++]).tointeger());
if (vargc == 6) copy_list.SetValue(item, valuator_function(item, vargv[i++], vargv[i++], vargv[i++], vargv[i++], vargv[i++], vargv[i++]).tointeger());
if (vargc == 7) copy_list.SetValue(item, valuator_function(item, vargv[i++], vargv[i++], vargv[i++], vargv[i++], vargv[i++], vargv[i++], vargv[i++]).tointeger());
if (vargc == 8) copy_list.SetValue(item, valuator_function(item, vargv[i++], vargv[i++], vargv[i++], vargv[i++], vargv[i++], vargv[i++], vargv[i++], vargv[i++]).tointeger());
if (vargc == 9) copy_list.SetValue(item, valuator_function(item, vargv[i++], vargv[i++], vargv[i++], vargv[i++], vargv[i++], vargv[i++], vargv[i++], vargv[i++], vargv[i++]).tointeger());
if (vargc == 10) copy_list.SetValue(item, valuator_function(item, vargv[i++], vargv[i++], vargv[i++], vargv[i++], vargv[i++], vargv[i++], vargv[i++], vargv[i++], vargv[i++], vargv[i++]).tointeger());
}
this.Clear();
this.AddList(copy_list);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment