Input TAG Pragma - theRAPTLab/gsgo GitHub Wiki
Make sure you read the Input Overview first!
You can define different Input controls for agents.
Setting the input source is handled via GEMSCRIPT.
The # TAG
pragma is used to define project parameters, including the Input source.
# TAG
currently supports three keys:
isCharControllable
isPTrackControllable
isPozyxControllable
It works like a Map/Dictionary object where you set a key and a value
# TAG <key> <value>
e.g.
# TAG isCharControllable true
Typically you would insert TAGS right after the BLUEPRINT pragma. For example, if you wanted Fish to be controllable by CharControl, PTrack, AND Pozyx, use:
# BLUEPRINT Fish
# TAG isCharControllable true
# TAG isPTrackControllable true
# TAG isPozyxControllable true
You can use multiple TAGs in a single blueprint.
If you have old *.gemprj
files that still use JSON to define inputs, you'll need to convert them. For each of your old *.gemprj
files, you're going to want to remove all the key/value pairs and replace them with TAG statements.
e.g. from this:
{
"id": "Worm",
"label": "Worm",
"isCharControllable": true,
"isPozyxControllable": true,
"scriptText": `# BLUEPRINT Worm
# PROGRAM DEFINE
...
to this:
{
"id": "Worm",
"label": "Worm",
"scriptText": `# BLUEPRINT Worm
# TAG isCharControllable true
# TAG isPozyxControllable true
# PROGRAM DEFINE
...