Common Format
{
type: "action name",
var: "variable name",
value: "value to pass",
count: "times to loop"
}
Type
This is required, and it should be one of the following values.
- TAP
- BATCH
- SWIPE_UP
- SLOW_UP
- SWIPE_RIGHT
- SWIPE_DOWN
- SLOW_DOWN
- SLOW_RIGHT
- SLOW_LEFT
- SWIPE_LEFT
- REPEAT
- MOVE
- WAIT
- MSG
- STOP
- SET
- ADD
- LAP
- EVENT
- INPUT
Var
This is the name of the variable to read or write to. This is not required for every action
Value
This is typically a integer, number based value. If the value starts with a $, it will be treated a a variable reference.
Count
This is optional. The default value is 1. If this number is greater then 1, the action will loop this may times.
Specific Details
TAP
{
"type": "TAP",
"value": "component-id"
}
The value should be a name of a component identifier. Component identifiers are stored in the related view files.
BATCH
{
"type": "BATCH",
"value": "START"
},
{
Other tap or swipe actions
},
{
"type": "BATCH",
"value": "END"
}
Batch is used to speed up processing by sending a series of commands at the same time. Commands that are not tap, input, event or swipe based will not be batched.
SWIPE_UP
SLOW_UP
SWIPE_RIGHT
SWIPE_DOWN
SLOW_DOWN
SLOW_RIGHT
SLOW_LEFT
SWIPE_LEFT
REPEAT
{
"type": "REPEAT",
}
This action will cause the current state execution to return to the start and try again. The screen will be re-sampled and conditions evaluated.
MOVE
{
"type": "MOVE",
"value": "log-in"
}
This will cause the app to switch state and restart before continuing to process.
Value
The name of the state to switch to.
WAIT
{
"type": "WAIT",
"value": "5000"
}
This will cause the app to pause for a specified amount of milliseconds. For reference 1 second is equal to 1000 milliseconds.
MSG
{
"type": "MSG",
"value": "Starting raid ${raid_runs}"
}
This will print a message to the log. You can include variables by using the format ${variable_name}.
STOP
{
"type": "STOP"
}
Stop execution of the current script.
SET
{
"type": "SET",
"value": "0",
"var": "_loops"
}
This will set the variable defined by var to the specified value.
ADD
{
"type": "ADD",
"var": "raid_runs",
"value": "1"
}
This will add the value to the variable defined by var.
LAP
{
"type": "LAP",
"value": "BATTLE"
}
Use the LAP action to create a simple timer that will print out the time between invocations. The first invocation will not print out any timing information.
EVENT
{
"type": "EVENT",
"value": "back"
}
- camera
- Cause the camera to appear. Useful to act as a screen saver.
- back
- press the back button
- brighter
- Make the screen brighter
- darker
- Make the screen darker
INPUT
{
"type": "INPUT",
"value": "7"
}
This will send a raw key input to the device. This is a more advanced version of EVENT, but more open ended. You can find available values here.
LABEL
{
"type": "LABEL",
"value": "LABEL_NAME"
}
This will define a label in the current statement. Label is a special tag that enables control flow to jump around and perform advanced logic.
GOTO
{
"type": "GOTO",
"value": "LABEL_NAME"
}
This will cause the program to jump to the named label within the same statement. Potential usages conditional blocks and looping.
LINK
{
"type": "LINK",
"value": "STATE_NAME"
}
This works like a INCLUDE, but allows you to control if it is actually used. Typically a CALL would be preferred, since LINK actions will not return a value.