Files
Arthur Pacaud b1039c6146 Add support for asynchronous actions in extensions in the editor (#4819)
* By marking an action as asynchronous, the actions and sub-events following it will wait for it to end. This is similar to the "Wait X seconds" action.
* Don't forget to use the action *"End asynchronous function"* in the events to mark the end of the action. Otherwise, the action will never end.
2023-02-02 12:30:17 +01:00

254 lines
6.0 KiB
JSON

{
"author": "",
"category": "",
"extensionNamespace": "",
"fullName": "",
"helpPath": "",
"iconUrl": "",
"name": "EBAsyncAction",
"previewIconUrl": "",
"shortDescription": "",
"version": "",
"description": "",
"tags": [],
"authorIds": [],
"dependencies": [],
"eventsFunctions": [
{
"async": true,
"fullName": "",
"functionType": "Action",
"name": "wait",
"sentence": "",
"events": [
{
"type": "BuiltinCommonInstructions::Standard",
"conditions": [],
"actions": [
{
"type": {
"value": "Wait"
},
"parameters": [
"0.1"
]
},
{
"type": {
"value": "BuiltinAsync::ResolveAsyncEventsFunction"
},
"parameters": [
""
]
}
]
}
],
"parameters": [],
"objectGroups": []
},
{
"async": true,
"fullName": "",
"functionType": "Action",
"name": "noWait",
"sentence": "",
"events": [
{
"type": "BuiltinCommonInstructions::Standard",
"conditions": [],
"actions": [
{
"type": {
"value": "BuiltinAsync::ResolveAsyncEventsFunction"
},
"parameters": [
""
]
}
]
}
],
"parameters": [],
"objectGroups": []
}
],
"eventsBasedBehaviors": [
{
"description": "",
"fullName": "",
"name": "Behavior",
"objectType": "",
"eventsFunctions": [
{
"async": true,
"fullName": "",
"functionType": "Action",
"name": "wait",
"sentence": "",
"events": [
{
"type": "BuiltinCommonInstructions::Standard",
"conditions": [],
"actions": [
{
"type": {
"value": "Wait"
},
"parameters": [
"0.1"
]
},
{
"type": {
"value": "BuiltinAsync::ResolveAsyncEventsFunction"
},
"parameters": [
""
]
}
]
}
],
"parameters": [
{
"description": "Object",
"name": "Object",
"type": "object"
},
{
"description": "Behavior",
"name": "Behavior",
"supplementaryInformation": "EBAsyncAction::Behavior",
"type": "behavior"
}
],
"objectGroups": []
},
{
"async": true,
"fullName": "",
"functionType": "Action",
"name": "noWait",
"sentence": "",
"events": [
{
"type": "BuiltinCommonInstructions::Standard",
"conditions": [],
"actions": [
{
"type": {
"value": "BuiltinAsync::ResolveAsyncEventsFunction"
},
"parameters": [
""
]
}
]
}
],
"parameters": [
{
"description": "Object",
"name": "Object",
"type": "object"
},
{
"description": "Behavior",
"name": "Behavior",
"supplementaryInformation": "EBAsyncAction::Behavior",
"type": "behavior"
}
],
"objectGroups": []
}
],
"propertyDescriptors": [],
"sharedPropertyDescriptors": []
}
],
"eventsBasedObjects": [
{
"defaultName": "",
"description": "",
"fullName": "",
"name": "Object",
"eventsFunctions": [
{
"async": true,
"fullName": "",
"functionType": "Action",
"name": "wait",
"sentence": "",
"events": [
{
"type": "BuiltinCommonInstructions::Standard",
"conditions": [],
"actions": [
{
"type": {
"value": "Wait"
},
"parameters": [
"0.1"
]
},
{
"type": {
"value": "BuiltinAsync::ResolveAsyncEventsFunction"
},
"parameters": [
""
]
}
]
}
],
"parameters": [
{
"description": "Object",
"name": "Object",
"supplementaryInformation": "EBAsyncAction::Object",
"type": "object"
}
],
"objectGroups": []
},
{
"async": true,
"fullName": "",
"functionType": "Action",
"name": "noWait",
"sentence": "",
"events": [
{
"type": "BuiltinCommonInstructions::Standard",
"conditions": [],
"actions": [
{
"type": {
"value": "BuiltinAsync::ResolveAsyncEventsFunction"
},
"parameters": [
""
]
}
]
}
],
"parameters": [
{
"description": "Object",
"name": "Object",
"supplementaryInformation": "EBAsyncAction::Object",
"type": "object"
}
],
"objectGroups": []
}
],
"propertyDescriptors": [],
"objects": []
}
]
}