Add user action: Remove object

qteditor
Sven Eberhardt 2016-07-29 02:06:20 -04:00
parent e19e5ce7ea
commit bdea3876d6
3 changed files with 28 additions and 0 deletions

View File

@ -76,6 +76,13 @@ func Definition(def)
SpeedX = new Evaluator.Integer { Name="$SpeedX$", EditorHelp="$CreateObjectSpeedXHelp$" },
SpeedY = new Evaluator.Integer { Name="$SpeedY$", EditorHelp="$CreateObjectSpeedYHelp$" }
} } );
AddEvaluator("Action", "$Object$", "$RemoveObject$", "$RemoveObjectHelp$", "remove_object", [def, def.EvalAct_RemoveObject], { }, { Type="proplist", Display="{{Object}}", EditorProps = {
Object = new Evaluator.Object { EditorHelp="$RemoveObjectObject$" },
EjectContents = { Name="$EjectContents$", EditorHelp="$EjectContentsHelp$", Type="enum", Options=[
{ Name="$EjectContentsNo$" },
{ Name="$EjectContentsYes$", Value=true }
] },
} } );
// Object evaluators
AddEvaluator("Object", nil, "$ActionObject$", "$ActionObjectHelp$", "action_object", [def, def.EvalObj_ActionObject]);
AddEvaluator("Object", nil, "$TriggerClonk$", "$TriggerClonkHelp$", "triggering_clonk", [def, def.EvalObj_TriggeringClonk]);
@ -383,6 +390,13 @@ private func EvalAct_CreateObject(proplist props, proplist context)
context.last_created_object = obj;
}
private func EvalAct_RemoveObject(proplist props, proplist context)
{
var obj = EvaluateValue("Object", props.Object, context);
if (!obj) return;
obj->RemoveObject(props.EjectContents);
}
/* Context instance */

View File

@ -81,3 +81,10 @@ SpeedY=Geschwindigkeit Y
CreateObjectSpeedYHelp=Vertikale Geschwindigkeit des neuen Objektes.
LastCreatedObject=Zuletzt erstelltes Objekt
LastCreatedObjectHelp=Das Objekt, das in diesem Kontext zuletzt mit der 'Objekt erstellen'-Aktion erstellt wurde.
RemoveObject=Objekt entfernen
RemoveObjectHelp=Loescht ein Objekt aus dem Spiel.
RemoveObjectObject=Das Objekt, das entfernt werden soll.
EjectContents=Inhalt
EjectContentsHelp=Was mit Inhaltsobjekten des geloeschtne Objektes passieren soll.
EjectContentsNo=Inhalt entfernen
EjectContentsYes=Inhalt auswerfen

View File

@ -81,3 +81,10 @@ SpeedY=Speed Y
CreateObjectSpeedYHelp=Vertikal speed of the new object.
LastCreatedObject=Last created object
LastCreatedObjectHelp=The object, which has been last created using a 'create object' action in this context.
RemoveObject=Remove object
RemoveObjectHelp=Removes an object from the game.
RemoveObjectObject=The object to remove.
EjectContents=Contents
EjectContentsHelp=What to do if the removed object contained other objects.
EjectContentsNo=Remove contents
EjectContentsYes=Eject contents