Add user actions evaluators: Object/Player count

qteditor
Sven Eberhardt 2016-07-31 17:31:18 -04:00
parent ab954f65a8
commit d8b488aa98
3 changed files with 16 additions and 0 deletions

View File

@ -251,6 +251,8 @@ func Definition(def)
PositionA = new Evaluator.Position { Name="$PositionA$", EditorHelp="$PositionAHelp$" },
PositionB = new Evaluator.Position { Name="$PositionB$", EditorHelp="$PositionBHelp$" }
} } );
AddEvaluator("Integer", nil, "$NumberOfObjects$", "$NumberOfObjectsHelp$", "object_count", [def, def.EvalCount, "ObjectList"], { }, new Evaluator.ObjectList { }, "Array");
AddEvaluator("Integer", nil, "$NumberOfPlayers$", "$NumberOfPlayersHelp$", "player_count", [def, def.EvalCount, "PlayerList"], { }, new Evaluator.PlayerList { }, "Array");
// String evaluators
AddEvaluator("String", nil, ["$Constant$", ""], "$ConstantHelp$", "string_constant", [def, def.EvalConstant], { Value="" }, { Type="string", Name="$Value$" });
AddEvaluator("String", nil, ["$ValueToString$", ""], "$ValueToStringHelp$", "value_to_string", [def, def.EvalStr_ValueToString], { }, new Evaluator.Any { });
@ -511,6 +513,12 @@ private func EvalObj_LastCreatedObject(proplist props, proplist context) { retur
private func EvalPlr_Trigger(proplist props, proplist context) { return context.triggering_player; }
private func EvalPlrList_Single(proplist props, proplist context, fn) { return [Call(fn, props, context)]; }
private func EvalCount(proplist props, proplist context, data_type)
{
var list = EvaluateValue(data_type, props.Array, context);
if (list) return GetLength(list); else return 0;
}
private func EvalObjList_FindObjectsInArea(proplist props, proplist context, bool find_one)
{
var params = Find_And(), np=1;

View File

@ -239,3 +239,7 @@ FindObjectInArea=Objekt im Bereich
FindObjectInAreaHelp=Findet ein Objekt in einem Bereich der Landschaft.
FindObjectInContainer=Inhaltsobjekt
FindObjectInContainerHelp=Findet ein Objekt, das in einem anderen Objekt enthalten sind. Zum Beispiel Inventarobjekte, Objekte in Kisten oder Clonks in Flugzeugen.
NumberOfObjects=Anzahl Objekte
NumberOfObjectsHelp=Anzahl der Elemente in einer Objektliste. Die Objektliste wird als Funktion angegeben.
NumberOfPlayers=Anzahl Spieler
NumberOfPlayersHelp=Anzahl Spieler in einer Spielerliste. Die Spielerliste wird als Funktion angegeben.

View File

@ -239,3 +239,7 @@ FindObjectInArea=Object in area
FindObjectInAreaHelp=Finds and object in a given area of the landscape.
FindObjectInContainer=Contained object
FindObjectInContainerHelp=Finds a contained object of a given type in a container.
NumberOfObjects=Number of objects
NumberOfObjectsHelp=Number of elements in an object list. The object list is given as a function.
NumberOfPlayers=Number of players
NumberOfPlayersHelp=Number of players in a player list. The player list is given as a function.