[ { "id": 1, "text": "html", "parents": [ "[document]" ] }, { "id": 2, "text": "LimboAI 1.0 documentation", "parents": [ "title", "head", "html", "[document]" ] }, { "id": 3, "text": "Getting started", "parents": [ "span", "p", "div", "div" ] }, { "id": 4, "text": "Getting LimboAI", "parents": [ "a", "li", "ul", "div" ] }, { "id": 5, "text": "Using LimboAI with C#", "parents": [ "a", "li", "ul", "div" ] }, { "id": 6, "text": "Contributing", "parents": [ "a", "li", "ul", "div" ] }, { "id": 7, "text": "Behavior Trees", "parents": [ "span", "p", "div", "div" ] }, { "id": 8, "text": "Introduction to Behavior Trees", "parents": [ "a", "li", "ul", "div" ] }, { "id": 9, "text": "Creating Behavior Trees", "parents": [ "a", "li", "ul", "div" ] }, { "id": 10, "text": "Creating custom tasks", "parents": [ "a", "li", "ul", "div" ] }, { "id": 11, "text": "Sharing data using Blackboard", "parents": [ "a", "li", "ul", "div" ] }, { "id": 12, "text": "Accessing nodes in the scene tree", "parents": [ "a", "li", "ul", "div" ] }, { "id": 13, "text": "Hierarchical State MachineS", "parents": [ "span", "p", "div", "div" ] }, { "id": 14, "text": "Create State Machines", "parents": [ "a", "li", "ul", "div" ] }, { "id": 15, "text": "Class reference", "parents": [ "span", "p", "div", "div" ] }, { "id": 16, "text": "Important classes", "parents": [ "a", "li", "ul", "div" ] }, { "id": 17, "text": "BBAabb", "parents": [ "a", "li", "ul", "div" ] }, { "id": 18, "text": "BBArray", "parents": [ "a", "li", "ul", "div" ] }, { "id": 19, "text": "BBBasis", "parents": [ "a", "li", "ul", "div" ] }, { "id": 20, "text": "BBBool", "parents": [ "a", "li", "ul", "div" ] }, { "id": 21, "text": "BBByteArray", "parents": [ "a", "li", "ul", "div" ] }, { "id": 22, "text": "BBColor", "parents": [ "a", "li", "ul", "div" ] }, { "id": 23, "text": "BBColorArray", "parents": [ "a", "li", "ul", "div" ] }, { "id": 24, "text": "BBDictionary", "parents": [ "a", "li", "ul", "div" ] }, { "id": 25, "text": "BBFloat", "parents": [ "a", "li", "ul", "div" ] }, { "id": 26, "text": "BBFloat32Array", "parents": [ "a", "li", "ul", "div" ] }, { "id": 27, "text": "BBFloat64Array", "parents": [ "a", "li", "ul", "div" ] }, { "id": 28, "text": "BBInt", "parents": [ "a", "li", "ul", "div" ] }, { "id": 29, "text": "BBInt32Array", "parents": [ "a", "li", "ul", "div" ] }, { "id": 30, "text": "BBInt64Array", "parents": [ "a", "li", "ul", "div" ] }, { "id": 31, "text": "BBNode", "parents": [ "a", "li", "ul", "div" ] }, { "id": 32, "text": "BBParam", "parents": [ "a", "li", "ul", "div" ] }, { "id": 33, "text": "BBPlane", "parents": [ "a", "li", "ul", "div" ] }, { "id": 34, "text": "BBProjection", "parents": [ "a", "li", "ul", "div" ] }, { "id": 35, "text": "BBQuaternion", "parents": [ "a", "li", "ul", "div" ] }, { "id": 36, "text": "BBRect2", "parents": [ "a", "li", "ul", "div" ] }, { "id": 37, "text": "BBRect2i", "parents": [ "a", "li", "ul", "div" ] }, { "id": 38, "text": "BBString", "parents": [ "a", "li", "ul", "div" ] }, { "id": 39, "text": "BBStringArray", "parents": [ "a", "li", "ul", "div" ] }, { "id": 40, "text": "BBStringName", "parents": [ "a", "li", "ul", "div" ] }, { "id": 41, "text": "BBTransform2D", "parents": [ "a", "li", "ul", "div" ] }, { "id": 42, "text": "BBTransform3D", "parents": [ "a", "li", "ul", "div" ] }, { "id": 43, "text": "BBVariant", "parents": [ "a", "li", "ul", "div" ] }, { "id": 44, "text": "BBVector2", "parents": [ "a", "li", "ul", "div" ] }, { "id": 45, "text": "BBVector2Array", "parents": [ "a", "li", "ul", "div" ] }, { "id": 46, "text": "BBVector2i", "parents": [ "a", "li", "ul", "div" ] }, { "id": 47, "text": "BBVector3", "parents": [ "a", "li", "ul", "div" ] }, { "id": 48, "text": "BBVector3Array", "parents": [ "a", "li", "ul", "div" ] }, { "id": 49, "text": "BBVector3i", "parents": [ "a", "li", "ul", "div" ] }, { "id": 50, "text": "BBVector4", "parents": [ "a", "li", "ul", "div" ] }, { "id": 51, "text": "BBVector4i", "parents": [ "a", "li", "ul", "div" ] }, { "id": 52, "text": "BehaviorTree", "parents": [ "a", "li", "ul", "div" ] }, { "id": 53, "text": "BehaviorTreeData", "parents": [ "a", "li", "ul", "div" ] }, { "id": 54, "text": "BehaviorTreeView", "parents": [ "a", "li", "ul", "div" ] }, { "id": 55, "text": "Blackboard", "parents": [ "a", "li", "ul", "div" ] }, { "id": 56, "text": "BlackboardPlan", "parents": [ "a", "li", "ul", "div" ] }, { "id": 57, "text": "BT", "parents": [ "a", "li", "ul", "div" ] }, { "id": 58, "text": "BTAction", "parents": [ "a", "li", "ul", "div" ] }, { "id": 59, "text": "BTAlwaysFail", "parents": [ "a", "li", "ul", "div" ] }, { "id": 60, "text": "BTAlwaysSucceed", "parents": [ "a", "li", "ul", "div" ] }, { "id": 61, "text": "BTAwaitAnimation", "parents": [ "a", "li", "ul", "div" ] }, { "id": 62, "text": "BTCallMethod", "parents": [ "a", "li", "ul", "div" ] }, { "id": 63, "text": "BTCheckAgentProperty", "parents": [ "a", "li", "ul", "div" ] }, { "id": 64, "text": "BTCheckTrigger", "parents": [ "a", "li", "ul", "div" ] }, { "id": 65, "text": "BTCheckVar", "parents": [ "a", "li", "ul", "div" ] }, { "id": 66, "text": "BTComment", "parents": [ "a", "li", "ul", "div" ] }, { "id": 67, "text": "BTComposite", "parents": [ "a", "li", "ul", "div" ] }, { "id": 68, "text": "BTCondition", "parents": [ "a", "li", "ul", "div" ] }, { "id": 69, "text": "BTConsolePrint", "parents": [ "a", "li", "ul", "div" ] }, { "id": 70, "text": "BTCooldown", "parents": [ "a", "li", "ul", "div" ] }, { "id": 71, "text": "BTDecorator", "parents": [ "a", "li", "ul", "div" ] }, { "id": 72, "text": "BTDelay", "parents": [ "a", "li", "ul", "div" ] }, { "id": 73, "text": "BTDynamicSelector", "parents": [ "a", "li", "ul", "div" ] }, { "id": 74, "text": "BTDynamicSequence", "parents": [ "a", "li", "ul", "div" ] }, { "id": 75, "text": "BTEvaluateExpression", "parents": [ "a", "li", "ul", "div" ] }, { "id": 76, "text": "BTFail", "parents": [ "a", "li", "ul", "div" ] }, { "id": 77, "text": "BTForEach", "parents": [ "a", "li", "ul", "div" ] }, { "id": 78, "text": "BTInstance", "parents": [ "a", "li", "ul", "div" ] }, { "id": 79, "text": "BTInvert", "parents": [ "a", "li", "ul", "div" ] }, { "id": 80, "text": "BTNewScope", "parents": [ "a", "li", "ul", "div" ] }, { "id": 81, "text": "BTParallel", "parents": [ "a", "li", "ul", "div" ] }, { "id": 82, "text": "BTPauseAnimation", "parents": [ "a", "li", "ul", "div" ] }, { "id": 83, "text": "BTPlayAnimation", "parents": [ "a", "li", "ul", "div" ] }, { "id": 84, "text": "BTPlayer", "parents": [ "a", "li", "ul", "div" ] }, { "id": 85, "text": "BTProbability", "parents": [ "a", "li", "ul", "div" ] }, { "id": 86, "text": "BTProbabilitySelector", "parents": [ "a", "li", "ul", "div" ] }, { "id": 87, "text": "BTRandomSelector", "parents": [ "a", "li", "ul", "div" ] }, { "id": 88, "text": "BTRandomSequence", "parents": [ "a", "li", "ul", "div" ] }, { "id": 89, "text": "BTRandomWait", "parents": [ "a", "li", "ul", "div" ] }, { "id": 90, "text": "BTRepeat", "parents": [ "a", "li", "ul", "div" ] }, { "id": 91, "text": "BTRepeatUntilFailure", "parents": [ "a", "li", "ul", "div" ] }, { "id": 92, "text": "BTRepeatUntilSuccess", "parents": [ "a", "li", "ul", "div" ] }, { "id": 93, "text": "BTRunLimit", "parents": [ "a", "li", "ul", "div" ] }, { "id": 94, "text": "BTSelector", "parents": [ "a", "li", "ul", "div" ] }, { "id": 95, "text": "BTSequence", "parents": [ "a", "li", "ul", "div" ] }, { "id": 96, "text": "BTSetAgentProperty", "parents": [ "a", "li", "ul", "div" ] }, { "id": 97, "text": "BTSetVar", "parents": [ "a", "li", "ul", "div" ] }, { "id": 98, "text": "BTState", "parents": [ "a", "li", "ul", "div" ] }, { "id": 99, "text": "BTStopAnimation", "parents": [ "a", "li", "ul", "div" ] }, { "id": 100, "text": "BTSubtree", "parents": [ "a", "li", "ul", "div" ] }, { "id": 101, "text": "BTTask", "parents": [ "a", "li", "ul", "div" ] }, { "id": 102, "text": "BTTimeLimit", "parents": [ "a", "li", "ul", "div" ] }, { "id": 103, "text": "BTWait", "parents": [ "a", "li", "ul", "div" ] }, { "id": 104, "text": "BTWaitTicks", "parents": [ "a", "li", "ul", "div" ] }, { "id": 105, "text": "LimboHSM", "parents": [ "a", "li", "ul", "div" ] }, { "id": 106, "text": "LimboState", "parents": [ "a", "li", "ul", "div" ] }, { "id": 107, "text": "LimboUtility", "parents": [ "a", "li", "ul", "div" ] }, { "id": 108, "text": "LimboAI", "parents": [ "a", "nav", "section", "div" ] }, { "id": 109, "text": "LimboAI 1.0 documentation", "parents": [ "li", "ul", "div", "div" ] }, { "id": 110, "text": "LimboAI Documentation", "parents": [ "h1", "section", "div", "div" ] }, { "id": 111, "text": "LimboAI", "parents": [ "strong", "p", "section", "div" ] }, { "id": 112, "text": " is an open-source C++ module for ", "parents": [ "p", "section", "div", "div" ] }, { "id": 113, "text": "Godot Engine 4", "parents": [ "strong", "p", "section", "div" ] }, { "id": 114, "text": " providing a combination of\n", "parents": [ "p", "section", "div", "div" ] }, { "id": 115, "text": "Behavior Trees", "parents": [ "strong", "p", "section", "div" ] }, { "id": 116, "text": " and ", "parents": [ "p", "section", "div", "div" ] }, { "id": 117, "text": "State Machines", "parents": [ "strong", "p", "section", "div" ] }, { "id": 118, "text": " for crafting your game’s AI. It comes with a\nbehavior tree editor, built-in documentation, visual debugger, and more! While\nit is implemented in C++, it fully supports GDScript for ", "parents": [ "p", "section", "div", "div" ] }, { "id": 119, "text": "creating your own tasks", "parents": [ "span", "a", "p", "section" ] }, { "id": 120, "text": "\nand states. The full list of features is available on the\n", "parents": [ "p", "section", "div", "div" ] }, { "id": 121, "text": "LimboAI GitHub", "parents": [ "a", "p", "section", "div" ] }, { "id": 122, "text": " page.", "parents": [ "p", "section", "div", "div" ] }, { "id": 123, "text": "Behavior Trees", "parents": [ "strong", "p", "section", "div" ] }, { "id": 124, "text": " are powerful hierarchical structures used to model and control the behavior\nof agents in a game (e.g., characters, enemies, entities). They are designed to\nmake it easier to create complex and highly modular behaviors for your games.\nTo learn more about behavior trees, check out ", "parents": [ "p", "section", "div", "div" ] }, { "id": 125, "text": "Introduction to Behavior Trees", "parents": [ "span", "a", "p", "section" ] }, { "id": 126, "text": "Hierarchical State Machines", "parents": [ "strong", "p", "section", "div" ] }, { "id": 127, "text": " are finite state machines that allow any state to host their own\nsub-state machine. This allows you to tackle your AI’s state and transition complexity by breaking down\none big state machine into multiple smaller ones.", "parents": [ "p", "section", "div", "div" ] }, { "id": 128, "text": "Getting LimboAI", "parents": [ "h2", "section", "div", "section" ] }, { "id": 129, "text": "LimboAI can be used as either a C++ module or as a GDExtension shared library.\nThere are some differences between the two. In short, GDExtension version is more\nconvenient to use but somewhat limited in features. The module version provides better editor\nexperience and is slightly more performant, but it requires using custom engine builds including the export templates.\nWhichever you choose to use, your project will stay compatible with both and you can switch from one to\nthe other any time.", "parents": [ "p", "section", "div", "section" ] }, { "id": 130, "text": "Choose the version you’d like to use. If you’re unsure, start with the GDExtension version.\nYou can change your decision at any time - both versions are fully compatible.", "parents": [ "p", "section", "div", "section" ] }, { "id": 131, "text": "Get GDExtension version", "parents": [ "h3", "section", "section", "div" ] }, { "id": 132, "text": "Precompiled builds are available on the official\n", "parents": [ "p", "section", "section", "div" ] }, { "id": 133, "text": "LimboAI GitHub", "parents": [ "a", "p", "section", "section" ] }, { "id": 134, "text": " page,\nand in the Asset Library.", "parents": [ "p", "section", "section", "div" ] }, { "id": 135, "text": "GDExtension is the most convenient way of using the LimboAI plugin, but it comes\nwith certain limitations:", "parents": [ "p", "section", "section", "div" ] }, { "id": 136, "text": "Documentation tooltips are not available.", "parents": [ "p", "li", "ul", "section" ] }, { "id": 137, "text": "Handy ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 138, "text": "BBParam", "parents": [ "span", "a", "p", "li" ] }, { "id": 139, "text": " property editor is not available in the extension due to dependencies on the engine classes that are not available in the Godot API.", "parents": [ "p", "li", "ul", "section" ] }, { "id": 140, "text": "🛈 See also:", "parents": [ "strong", "p", "div", "blockquote" ] }, { "id": 141, "text": "What is GDExtension?", "parents": [ "a", "p", "div", "blockquote" ] }, { "id": 142, "text": "Installation instructions:", "parents": [ "p", "section", "section", "div" ] }, { "id": 143, "text": "Make sure you’re using the latest stable version of the Godot editor.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 144, "text": "Create a new project for your experiments with LimboAI.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 145, "text": "In Godot, click AssetLib tab at the top of the screen and search for LimboAI. Download it. LimboAI plugin will be downloaded with the demo project files. Don’t mind the errors printed at this point, this is due to the extension library not being loaded just yet.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 146, "text": "Reload your project with ", "parents": [ "p", "li", "ol", "section" ] }, { "id": 147, "text": "Project -> Reload project", "parents": [ "cite", "p", "li", "ol" ] }, { "id": 148, "text": ". There shouldn’t be any errors printed now.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 149, "text": "In the project files, locate a scene file called ", "parents": [ "p", "li", "ol", "section" ] }, { "id": 150, "text": "showcase.tscn", "parents": [ "cite", "p", "li", "ol" ] }, { "id": 151, "text": " and run it. It’s the demo’s entry point.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 152, "text": "Get module version", "parents": [ "h3", "section", "section", "div" ] }, { "id": 153, "text": "Precompiled builds are available on the official\n", "parents": [ "p", "section", "section", "div" ] }, { "id": 154, "text": "LimboAI GitHub", "parents": [ "a", "p", "section", "section" ] }, { "id": 155, "text": " page.", "parents": [ "p", "section", "section", "div" ] }, { "id": 156, "text": "Installation instructions:", "parents": [ "p", "section", "section", "div" ] }, { "id": 157, "text": "In ", "parents": [ "p", "li", "ol", "section" ] }, { "id": 158, "text": "GitHub releases", "parents": [ "a", "p", "li", "ol" ] }, { "id": 159, "text": ", download the latest pre-compiled release build for your platform.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 160, "text": "Download the demo project archive from the same release.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 161, "text": "Extract the pre-compiled editor and the demo project files.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 162, "text": "Launch the pre-compiled editor binary, import and open the demo project.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 163, "text": "Run the project.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 164, "text": "Important", "parents": [ "strong", "p", "section", "section" ] }, { "id": 165, "text": ": To export your game using the module version of LimboAI, make sure to use the pre-compiled export templates included in the same GitHub release build.", "parents": [ "p", "section", "section", "div" ] }, { "id": 166, "text": "Using LimboAI with C#", "parents": [ "h2", "section", "div", "section" ] }, { "id": 167, "text": "Here’s how you can use the module version with C# to write your tasks and states.", "parents": [ "p", "section", "div", "section" ] }, { "id": 168, "text": "Locate LimboAI NuGet package files.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 169, "text": "Each provided build comes with a GodotSharp folder, which has packages under\n“GodotSharp/Tools/nupkgs/”. Note down the directory path; you’ll need it in the next step.", "parents": [ "p", "section", "div", "section" ] }, { "id": 170, "text": "Add a local source for NuGet packages using the following command:", "parents": [ "p", "li", "ol", "section" ] }, { "id": 171, "text": "Your C# project should be able to see LimboAI classes and compile.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 172, "text": "Regarding GDExtension, I can only confirm success with the module version and C#.\nUnfortunately, I haven’t had any luck with the GDExtension version yet.\nIf you’ve had success with GDExtension, please let me know via Discord or email.", "parents": [ "p", "section", "div", "section" ] }, { "id": 173, "text": "Contributing", "parents": [ "h2", "section", "div", "section" ] }, { "id": 174, "text": "We target the latest stable version of the Godot Engine for development until a\nthird beta or a release candidate of an upcoming Godot release becomes available.\nIf you want to contribute to the project, please ensure that you are using the\ncorresponding Godot version.", "parents": [ "p", "section", "div", "section" ] }, { "id": 175, "text": "We follow the ", "parents": [ "p", "section", "div", "section" ] }, { "id": 176, "text": "Godot code style guidelines", "parents": [ "a", "p", "section", "div" ] }, { "id": 177, "text": ".\nPlease use ", "parents": [ "p", "section", "div", "section" ] }, { "id": 178, "text": " to maintain consistent styling. You can install\n", "parents": [ "p", "section", "div", "section" ] }, { "id": 179, "text": " hooks for Git using ", "parents": [ "p", "section", "div", "section" ] }, { "id": 180, "text": " to automate this process.", "parents": [ "p", "section", "div", "section" ] }, { "id": 181, "text": "Please keep the minor versions backward-compatible when submitting pull requests.", "parents": [ "p", "section", "div", "section" ] }, { "id": 182, "text": "We support building LimboAI as a module for the Godot Engine and as a GDExtension library.\nMake sure your contribution is compatible with both. Our CI workflow will verify\nthat your changes can be compiled in both configurations.", "parents": [ "p", "section", "div", "section" ] }, { "id": 183, "text": "Compiling as module of the Godot Engine", "parents": [ "h3", "section", "section", "div" ] }, { "id": 184, "text": "Clone the Godot Engine repository.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 185, "text": "Switch to the latest stable tag.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 186, "text": "Clone the LimboAI repository into the ", "parents": [ "p", "li", "ol", "section" ] }, { "id": 187, "text": " directory.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 188, "text": "Consult the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 189, "text": "Godot Engine documentation", "parents": [ "a", "p", "section", "section" ] }, { "id": 190, "text": "\nfor detailed instructions on building the engine.", "parents": [ "p", "section", "section", "div" ] }, { "id": 191, "text": "Unit tests", "parents": [ "strong", "p", "section", "section" ] }, { "id": 192, "text": " can be compiled using the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 193, "text": " build option. To execute them,\nrun the compiled Godot binary with the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 194, "text": " command-line options.", "parents": [ "p", "section", "section", "div" ] }, { "id": 195, "text": "Building C# Packages", "parents": [ "h4", "section", "section", "section" ] }, { "id": 196, "text": "If you want C# Support for LimboAI when building from source, follow Godot’s instructions for building from source with\nC# Support: ", "parents": [ "p", "section", "section", "section" ] }, { "id": 197, "text": "Compiling with .NET", "parents": [ "a", "p", "section", "section" ] }, { "id": 198, "text": ".\nLimboAI’s classes will be included in the output from that build process.", "parents": [ "p", "section", "section", "section" ] }, { "id": 199, "text": "Compiling as GDExtension library", "parents": [ "h3", "section", "section", "div" ] }, { "id": 200, "text": "You’ll need the SCons build tool and a C++ compiler. See also ", "parents": [ "p", "section", "section", "div" ] }, { "id": 201, "text": "Compiling", "parents": [ "a", "p", "section", "section" ] }, { "id": 202, "text": ".\nRun ", "parents": [ "p", "section", "section", "div" ] }, { "id": 203, "text": " to build the plugin library for your current platform.", "parents": [ "p", "section", "section", "div" ] }, { "id": 204, "text": "SCons will automatically clone the ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 205, "text": " repository if it doesn’t already exist in the ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 206, "text": " directory.", "parents": [ "p", "li", "ul", "section" ] }, { "id": 207, "text": "By default, built targets are placed in the demo project: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 208, "text": "Check ", "parents": [ "p", "section", "section", "div" ] }, { "id": 209, "text": " for other options and targets.", "parents": [ "p", "section", "section", "div" ] }, { "id": 210, "text": "Contributing to the documentation", "parents": [ "h3", "section", "section", "div" ] }, { "id": 211, "text": "Online documentation is created using ", "parents": [ "p", "section", "section", "div" ] }, { "id": 212, "text": "Sphinx", "parents": [ "a", "p", "section", "section" ] }, { "id": 213, "text": ".\nSource files are located in the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 214, "text": " directory in RST format and can\nbe built locally with ", "parents": [ "p", "section", "section", "div" ] }, { "id": 215, "text": ". See the\n", "parents": [ "p", "section", "section", "div" ] }, { "id": 216, "text": "Sphinx documentation", "parents": [ "a", "p", "section", "section" ] }, { "id": 217, "text": "\nfor more details.", "parents": [ "p", "section", "section", "div" ] }, { "id": 218, "text": "Class documentation resides in XML files within the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 219, "text": " directory.\nIf you create a new class or modify an existing one, you can run the compiled\nGodot binary with the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 220, "text": " option in the root of the Godot source code\nto generate the missing XML files or sections within those files in the class documentation.\nAfter editing the XML files, please run the compiled editor binary with the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 221, "text": "\noption again to update and tidy up the XML files.", "parents": [ "p", "section", "section", "div" ] }, { "id": 222, "text": "Sphinx RST files for the class documentation are generated from\nXML files using the Godot script ", "parents": [ "p", "section", "section", "div" ] }, { "id": 223, "text": " and stored in the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 224, "text": " directory.\nThis process is performed using our own script ", "parents": [ "p", "section", "section", "div" ] }, { "id": 225, "text": ". RST files\nin ", "parents": [ "p", "section", "section", "div" ] }, { "id": 226, "text": " should not be edited manually.", "parents": [ "p", "section", "section", "div" ] }, { "id": 227, "text": "Introduction to Behavior Trees", "parents": [ "h2", "section", "div", "section" ] }, { "id": 228, "text": "🛈 Note:", "parents": [ "strong", "p", "div", "blockquote" ] }, { "id": 229, "text": " Demo project includes a tutorial that provides an introduction to behavior trees through illustrative examples.", "parents": [ "p", "div", "blockquote", "section" ] }, { "id": 230, "text": "Behavior Trees (BT)", "parents": [ "strong", "p", "section", "div" ] }, { "id": 231, "text": " are hierarchical structures used to model and\ncontrol the behavior of agents in a game (e.g., characters, enemies,\nentities). They are designed to make it easier to create complex and\nhighly modular behaviors for your games.", "parents": [ "p", "section", "div", "section" ] }, { "id": 232, "text": "Behavior Trees are composed of tasks that represent specific actions or\ndecision-making rules. Tasks can be broadly categorized into two main\ntypes: control tasks and leaf tasks. ", "parents": [ "p", "section", "div", "section" ] }, { "id": 233, "text": "Control tasks", "parents": [ "strong", "p", "section", "div" ] }, { "id": 234, "text": " determine the\nexecution flow within the tree. They include ", "parents": [ "p", "section", "div", "section" ] }, { "id": 235, "text": "Sequence", "parents": [ "span", "a", "p", "section" ] }, { "id": 236, "text": "Selector", "parents": [ "span", "a", "p", "section" ] }, { "id": 237, "text": ", and\n", "parents": [ "p", "section", "div", "section" ] }, { "id": 238, "text": "Invert", "parents": [ "span", "a", "p", "section" ] }, { "id": 239, "text": "Leaf tasks", "parents": [ "strong", "p", "section", "div" ] }, { "id": 240, "text": " represent specific actions\nto perform, like moving or attacking, or conditions that need to be\nchecked. The ", "parents": [ "p", "section", "div", "section" ] }, { "id": 241, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 242, "text": " class provides the foundation for various\nbuilding blocks of the Behavior Trees. Such tasks can ", "parents": [ "p", "section", "div", "section" ] }, { "id": 243, "text": "share data using the Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 244, "text": "🛈 Note:", "parents": [ "strong", "p", "div", "blockquote" ] }, { "id": 245, "text": " To ", "parents": [ "p", "div", "blockquote", "section" ] }, { "id": 246, "text": "create your own actions", "parents": [ "span", "a", "p", "div" ] }, { "id": 247, "text": ", extend the ", "parents": [ "p", "div", "blockquote", "section" ] }, { "id": 248, "text": "BTAction", "parents": [ "span", "a", "p", "div" ] }, { "id": 249, "text": "\nclass.", "parents": [ "p", "div", "blockquote", "section" ] }, { "id": 250, "text": "A Behavior Tree is usually processed each frame. It is traversed from top to bottom,\nwith the control tasks determining the control flow. Each task has a ", "parents": [ "p", "section", "div", "section" ] }, { "id": 251, "text": "_tick", "parents": [ "span", "a", "p", "section" ] }, { "id": 252, "text": "\nmethod, which performs the task’s work and returns a status indicating its progress:\n", "parents": [ "p", "section", "div", "section" ] }, { "id": 253, "text": ", or ", "parents": [ "p", "section", "div", "section" ] }, { "id": 254, "text": " and ", "parents": [ "p", "section", "div", "section" ] }, { "id": 255, "text": " indicate the\noutcome of finished work, while ", "parents": [ "p", "section", "div", "section" ] }, { "id": 256, "text": " status is returned when a task requires\nmore than one tick to complete its job. These statuses determine how the tree\nprogresses, with the ", "parents": [ "p", "section", "div", "section" ] }, { "id": 257, "text": " status usually meaning that the tree will\ncontinue execution during the next frame.", "parents": [ "p", "section", "div", "section" ] }, { "id": 258, "text": "There are ", "parents": [ "p", "section", "div", "section" ] }, { "id": 259, "text": "four types of tasks", "parents": [ "em", "p", "section", "div" ] }, { "id": 260, "text": "Actions", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 261, "text": " are leaf tasks that perform the actual work.", "parents": [ "p", "li", "ul", "section" ] }, { "id": 262, "text": "Examples: ", "parents": [ "p", "li", "ul", "li" ] }, { "id": 263, "text": "PlayAnimation", "parents": [ "span", "a", "p", "li" ] }, { "id": 264, "text": "Wait", "parents": [ "span", "a", "p", "li" ] }, { "id": 265, "text": "Conditions", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 266, "text": " are leaf tasks that conduct various checks.", "parents": [ "p", "li", "ul", "section" ] }, { "id": 267, "text": "Examples: ", "parents": [ "p", "li", "ul", "li" ] }, { "id": 268, "text": "CheckVar", "parents": [ "span", "a", "p", "li" ] }, { "id": 269, "text": "InRange", "parents": [ "span", "a", "p", "li" ] }, { "id": 270, "text": "Composites", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 271, "text": " can have one or more child tasks, and dictate the execution flow of their children.", "parents": [ "p", "li", "ul", "section" ] }, { "id": 272, "text": "Examples: ", "parents": [ "p", "li", "ul", "li" ] }, { "id": 273, "text": "Sequence", "parents": [ "span", "a", "p", "li" ] }, { "id": 274, "text": "Selector", "parents": [ "span", "a", "p", "li" ] }, { "id": 275, "text": "Parallel", "parents": [ "span", "a", "p", "li" ] }, { "id": 276, "text": "Decorators", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 277, "text": " can only have a single child and they change how their child task operates.", "parents": [ "p", "li", "ul", "section" ] }, { "id": 278, "text": "Examples: ", "parents": [ "p", "li", "ul", "li" ] }, { "id": 279, "text": "AlwaysSucceed", "parents": [ "span", "a", "p", "li" ] }, { "id": 280, "text": "Invert", "parents": [ "span", "a", "p", "li" ] }, { "id": 281, "text": "TimeLimit", "parents": [ "span", "a", "p", "li" ] }, { "id": 282, "text": "Sequence", "parents": [ "span", "a", "p", "section" ] }, { "id": 283, "text": " is one of the core composite tasks.\nIt executes its child tasks sequentially, from first to last, until one of them\nreturns ", "parents": [ "p", "section", "div", "section" ] }, { "id": 284, "text": ", or all of them result in ", "parents": [ "p", "section", "div", "section" ] }, { "id": 285, "text": ". In other words,\nif any child task results in ", "parents": [ "p", "section", "div", "section" ] }, { "id": 286, "text": ", the ", "parents": [ "p", "section", "div", "section" ] }, { "id": 287, "text": "Sequence", "parents": [ "span", "a", "p", "section" ] }, { "id": 288, "text": "\nexecution will be aborted, and the ", "parents": [ "p", "section", "div", "section" ] }, { "id": 289, "text": "Sequence", "parents": [ "span", "a", "p", "section" ] }, { "id": 290, "text": " itself will\nreturn ", "parents": [ "p", "section", "div", "section" ] }, { "id": 291, "text": "Selector", "parents": [ "span", "a", "p", "section" ] }, { "id": 292, "text": " is another essential composite task.\nIt executes its child tasks sequentially, from first to last, until one of them\nreturns ", "parents": [ "p", "section", "div", "section" ] }, { "id": 293, "text": " or all of them result in ", "parents": [ "p", "section", "div", "section" ] }, { "id": 294, "text": ". In other words, when\na child task results in ", "parents": [ "p", "section", "div", "section" ] }, { "id": 295, "text": ", it moves on to the next one until it\nfinds the one that returns ", "parents": [ "p", "section", "div", "section" ] }, { "id": 296, "text": ". Once a child task results in ", "parents": [ "p", "section", "div", "section" ] }, { "id": 297, "text": ",\nthe ", "parents": [ "p", "section", "div", "section" ] }, { "id": 298, "text": "Selector", "parents": [ "span", "a", "p", "section" ] }, { "id": 299, "text": " stops and also returns ", "parents": [ "p", "section", "div", "section" ] }, { "id": 300, "text": ".\nThe purpose of the ", "parents": [ "p", "section", "div", "section" ] }, { "id": 301, "text": "Selector", "parents": [ "span", "a", "p", "section" ] }, { "id": 302, "text": " is to find a child that succeeds.", "parents": [ "p", "section", "div", "section" ] }, { "id": 303, "text": "Behavior Trees handle conditional logic using ", "parents": [ "p", "section", "div", "section" ] }, { "id": 304, "text": "condition tasks", "parents": [ "strong", "p", "section", "div" ] }, { "id": 305, "text": ". These\ntasks check for specific conditions and return either ", "parents": [ "p", "section", "div", "section" ] }, { "id": 306, "text": " or\n", "parents": [ "p", "section", "div", "section" ] }, { "id": 307, "text": " based on the state of the agent or its environment (e.g.,\n“IsLowOnHealth”, “IsTargetInSight”). Conditions can be used together\nwith ", "parents": [ "p", "section", "div", "section" ] }, { "id": 308, "text": "Sequence", "parents": [ "span", "a", "p", "section" ] }, { "id": 309, "text": " and ", "parents": [ "p", "section", "div", "section" ] }, { "id": 310, "text": "Selector", "parents": [ "span", "a", "p", "section" ] }, { "id": 311, "text": "\nto craft your decision-making logic.", "parents": [ "p", "section", "div", "section" ] }, { "id": 312, "text": "🛈 Note:", "parents": [ "strong", "p", "div", "blockquote" ] }, { "id": 313, "text": " To ", "parents": [ "p", "div", "blockquote", "section" ] }, { "id": 314, "text": "create your own conditions", "parents": [ "span", "a", "p", "div" ] }, { "id": 315, "text": ", extend the ", "parents": [ "p", "div", "blockquote", "section" ] }, { "id": 316, "text": "BTCondition", "parents": [ "span", "a", "p", "div" ] }, { "id": 317, "text": "\nclass.", "parents": [ "p", "div", "blockquote", "section" ] }, { "id": 318, "text": "Check out the ", "parents": [ "p", "section", "div", "section" ] }, { "id": 319, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 320, "text": " class documentation, which\nprovides the foundation for various building blocks of Behavior Trees.", "parents": [ "p", "section", "div", "section" ] }, { "id": 321, "text": "Creating Behavior Trees", "parents": [ "h2", "section", "div", "section" ] }, { "id": 322, "text": "This chapter describes how to create and debug behavior trees.", "parents": [ "p", "section", "div", "section" ] }, { "id": 323, "text": "Add a Behavior Tree to an agent", "parents": [ "h3", "section", "section", "div" ] }, { "id": 324, "text": "Follow these steps to add a behavior tree to a new or existing agent:", "parents": [ "p", "section", "section", "div" ] }, { "id": 325, "text": "Make a scene file for your agent, or open an existing scene.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 326, "text": "Add a ", "parents": [ "p", "li", "ol", "section" ] }, { "id": 327, "text": "BTPlayer", "parents": [ "span", "a", "p", "li" ] }, { "id": 328, "text": " node to your scene.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 329, "text": "Select ", "parents": [ "p", "li", "ol", "section" ] }, { "id": 330, "text": "BTPlayer", "parents": [ "span", "a", "p", "li" ] }, { "id": 331, "text": ", and create a new behavior tree in the inspector.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 332, "text": "Optionally, you can save the behavior tree to a file using the property’s context menu.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 333, "text": "Click the behavior tree property to open it in the LimboAI editor.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 334, "text": "Debugging Behavior Trees", "parents": [ "h3", "section", "section", "div" ] }, { "id": 335, "text": "In Godot Engine, follow to “Bottom Panel > Debugger > LimboAI” tab. With the LimboAI debugger,\nyou can inspect any currently active behavior tree within the running project. The debugger can be detached\nfrom the main editor window, which can be particularly useful if you have a HiDPI or a secondary display.", "parents": [ "p", "section", "section", "div" ] }, { "id": 336, "text": "Inspecting task properties and blackboard", "parents": [ "h4", "section", "section", "section" ] }, { "id": 337, "text": "When you click on a task in the LimboAI debugger, its properties are shown in the remote Inspector panel,\nincluding the ", "parents": [ "p", "section", "section", "section" ] }, { "id": 338, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 339, "text": " reference. Click the ", "parents": [ "p", "section", "section", "section" ] }, { "id": 340, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 341, "text": "\nto open it and view all variables across the full scope chain, grouped by scope.\nYou can also edit variable values live, which can be useful for testing and debugging your game’s AI.", "parents": [ "p", "section", "section", "section" ] }, { "id": 342, "text": "Creating custom tasks", "parents": [ "h2", "section", "div", "section" ] }, { "id": 343, "text": "By default, user tasks should be placed in the ", "parents": [ "p", "section", "div", "section" ] }, { "id": 344, "text": "\ndirectory. You can set an alternative location for user tasks in the\n", "parents": [ "p", "section", "div", "section" ] }, { "id": 345, "text": " (To see those options,\n", "parents": [ "p", "section", "div", "section" ] }, { "id": 346, "text": " should be enabled in the Project Settings).", "parents": [ "p", "section", "div", "section" ] }, { "id": 347, "text": "Each subdirectory within the user tasks directory is treated as a category.\nTherefore, if you create a subdirectory named “motion_and_physics,” your\ncustom tasks in that directory will automatically be categorized under\n“Motion And Physics.”", "parents": [ "p", "section", "div", "section" ] }, { "id": 348, "text": "When creating custom tasks, ", "parents": [ "p", "section", "div", "section" ] }, { "id": 349, "text": "extend one of the following", "parents": [ "strong", "p", "section", "div" ] }, { "id": 350, "text": " base classes:\n", "parents": [ "p", "section", "div", "section" ] }, { "id": 351, "text": "BTAction", "parents": [ "span", "a", "p", "section" ] }, { "id": 352, "text": "BTCondition", "parents": [ "span", "a", "p", "section" ] }, { "id": 353, "text": "BTDecorator", "parents": [ "span", "a", "p", "section" ] }, { "id": 354, "text": "BTComposite", "parents": [ "span", "a", "p", "section" ] }, { "id": 355, "text": ".\nMore on task types you can read in the ", "parents": [ "p", "section", "div", "section" ] }, { "id": 356, "text": "Introduction to Behavior Trees", "parents": [ "span", "a", "p", "section" ] }, { "id": 357, "text": "🛈 Note:", "parents": [ "strong", "p", "div", "blockquote" ] }, { "id": 358, "text": " To help you write new tasks, you can add a script template to\nyour project using “Misc → Create script template” menu option.", "parents": [ "p", "div", "blockquote", "section" ] }, { "id": 359, "text": "Using the ", "parents": [ "p", "section", "div", "section" ] }, { "id": 360, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 361, "text": " is covered in ", "parents": [ "p", "section", "div", "section" ] }, { "id": 362, "text": "Accessing the Blackboard in a Task", "parents": [ "span", "a", "p", "section" ] }, { "id": 363, "text": "Task anatomy", "parents": [ "h3", "section", "section", "div" ] }, { "id": 364, "text": "Example 1: A simple action", "parents": [ "h3", "section", "section", "div" ] }, { "id": 365, "text": "Example 2: InRange condition", "parents": [ "h3", "section", "section", "div" ] }, { "id": 366, "text": "Creating tasks in C#", "parents": [ "h3", "section", "section", "div" ] }, { "id": 367, "text": "You can use the following script template for custom tasks:", "parents": [ "p", "section", "section", "div" ] }, { "id": 368, "text": "Sharing data using Blackboard", "parents": [ "h2", "section", "div", "section" ] }, { "id": 369, "text": "To share data between different tasks and states, we employ a feature known as the ", "parents": [ "p", "section", "div", "section" ] }, { "id": 370, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 371, "text": ".\nThe ", "parents": [ "p", "section", "div", "section" ] }, { "id": 372, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 373, "text": " serves as a central repository where tasks and states can store and retrieve named variables,\nallowing for seamless data interchange. Each instance of a behavior tree or a state machine gets its own dedicated ", "parents": [ "p", "section", "div", "section" ] }, { "id": 374, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 375, "text": ". It has the capability to store various data types,\nincluding objects and resources.", "parents": [ "p", "section", "div", "section" ] }, { "id": 376, "text": "Using the ", "parents": [ "p", "section", "div", "section" ] }, { "id": 377, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 378, "text": ", you can easily share data in your behavior trees, making the tasks in the behavior tree more flexible.", "parents": [ "p", "section", "div", "section" ] }, { "id": 379, "text": "Accessing the Blackboard in a Task", "parents": [ "h3", "section", "section", "div" ] }, { "id": 380, "text": "Every ", "parents": [ "p", "section", "section", "div" ] }, { "id": 381, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 382, "text": " has access to the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 383, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 384, "text": ", providing a\nstraightforward mechanism for data exchange.\nHere’s an example of how you can interact with the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 385, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 386, "text": " in GDScript:", "parents": [ "p", "section", "section", "div" ] }, { "id": 387, "text": "If you are accessing a variable that holds an object instance, and it is\nexpected that the instance may be null or freed, you can do it like this:", "parents": [ "p", "section", "section", "div" ] }, { "id": 388, "text": "It is recommended to suffix variable name properties with ", "parents": [ "p", "section", "section", "div" ] }, { "id": 389, "text": ", like in the example above, which enables the\ninspector to provide a more convenient property editor for the variable. This editor\nallows you to select or add the variable to the blackboard plan, and provides a\nwarning icon if the variable does not exist in the blackboard plan.", "parents": [ "p", "section", "section", "div" ] }, { "id": 390, "text": "🛈 Note:", "parents": [ "strong", "p", "div", "blockquote" ] }, { "id": 391, "text": " The variable doesn’t need to exist when you set it in code.", "parents": [ "p", "div", "blockquote", "section" ] }, { "id": 392, "text": "Editing the Blackboard Plan", "parents": [ "h3", "section", "section", "div" ] }, { "id": 393, "text": "The Blackboard Plan, associated with each ", "parents": [ "p", "section", "section", "div" ] }, { "id": 394, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 395, "text": "\nresource, dictates how the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 396, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 397, "text": " initializes for each\nnew instance of the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 398, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 399, "text": ".\nBlackboardPlan resource stores default values, type information, and data bindings\nnecessary for ", "parents": [ "p", "section", "section", "div" ] }, { "id": 400, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 401, "text": " initialization.", "parents": [ "p", "section", "section", "div" ] }, { "id": 402, "text": "To add, modify, or remove variables from the Blackboard Plan, follow these steps:", "parents": [ "p", "section", "section", "div" ] }, { "id": 403, "text": "Open the LimboAI editor and load the behavior tree you want to edit.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 404, "text": "In the editor, click on the small button located inside the tab. This will open the ", "parents": [ "p", "li", "ol", "section" ] }, { "id": 405, "text": "BlackboardPlan", "parents": [ "span", "a", "p", "li" ] }, { "id": 406, "text": " in the Inspector.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 407, "text": "In the Inspector, click the “Manage…” button to show the blackboard plan editor.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 408, "text": "In the blackboard plan editor, you can add, remove, or reorder variables, and modify their data type and hint.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 409, "text": "The hint provides additional information about the variable to the Inspector, such as minimum and maximum values for an integer variable. Learn more about ", "parents": [ "p", "li", "ol", "section" ] }, { "id": 410, "text": "property hints in the official Godot documentation", "parents": [ "a", "p", "li", "ol" ] }, { "id": 411, "text": "You can specify the default values of the variables directly in the Inspector.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 412, "text": "Overriding variables in BTPlayer", "parents": [ "h3", "section", "section", "div" ] }, { "id": 413, "text": "Each ", "parents": [ "p", "section", "section", "div" ] }, { "id": 414, "text": "BTPlayer", "parents": [ "span", "a", "p", "section" ] }, { "id": 415, "text": " node also has a “Blackboard Plan” property,\nproviding the ability to override values of the BehaviorTree’s blackboard variables.\nThese overrides are specific to the BTPlayer’s scene\nand do not impact other scenes using the same ", "parents": [ "p", "section", "section", "div" ] }, { "id": 416, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 417, "text": ".\nTo modify these values:", "parents": [ "p", "section", "section", "div" ] }, { "id": 418, "text": "Select the BTPlayer node in the scene tree.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 419, "text": "In the Inspector, locate the “Blackboard Plan” property.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 420, "text": "Override the desired values to tailor the blackboard variables for the specific scene.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 421, "text": "Task parameters", "parents": [ "h3", "section", "section", "div" ] }, { "id": 422, "text": "In some cases, it can be beneficial to allow behavior tree tasks to export parameters\nthat can either be ", "parents": [ "p", "section", "section", "div" ] }, { "id": 423, "text": "bound to a blackboard variable or specified directly", "parents": [ "strong", "p", "section", "section" ] }, { "id": 424, "text": " by the user.\nFor this purpose, LimboAI provides special parameter types that begin with “BB”,\nsuch as ", "parents": [ "p", "section", "section", "div" ] }, { "id": 425, "text": "BBInt", "parents": [ "span", "a", "p", "section" ] }, { "id": 426, "text": "BBBool", "parents": [ "span", "a", "p", "section" ] }, { "id": 427, "text": "BBString", "parents": [ "span", "a", "p", "section" ] }, { "id": 428, "text": "BBFloat", "parents": [ "span", "a", "p", "section" ] }, { "id": 429, "text": "BBNode", "parents": [ "span", "a", "p", "section" ] }, { "id": 430, "text": ", and more.\nFor a complete list, please refer to the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 431, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 432, "text": " class reference.", "parents": [ "p", "section", "section", "div" ] }, { "id": 433, "text": "Usage example:", "parents": [ "p", "section", "section", "div" ] }, { "id": 434, "text": "Connecting variables in BTs to HSMs: Variable mapping", "parents": [ "h3", "section", "section", "div" ] }, { "id": 435, "text": "Each ", "parents": [ "p", "section", "section", "div" ] }, { "id": 436, "text": "BTState", "parents": [ "span", "a", "p", "section" ] }, { "id": 437, "text": " creates a new blackboard scope for its\nBehaviorTree instance. Because BehaviorTrees are reusable resources that can run\nin different contexts or on different agents, they do not automatically see\nvariables defined in the HSM. At runtime, HSM variables are usually accessible\ninside the BT via the parent scope blackboard, but the recommended way to access\nthem is through ", "parents": [ "p", "section", "section", "div" ] }, { "id": 438, "text": "mapping", "parents": [ "strong", "p", "section", "section" ] }, { "id": 439, "text": "Note", "parents": [ "p", "div", "section", "section" ] }, { "id": 440, "text": "To learn more about scopes, see ", "parents": [ "p", "div", "section", "section" ] }, { "id": 441, "text": "Blackboard", "parents": [ "span", "a", "p", "div" ] }, { "id": 442, "text": "When both the BehaviorTree and the HSM declare variables in their respective\n", "parents": [ "p", "section", "section", "div" ] }, { "id": 443, "text": "BlackboardPlan", "parents": [ "span", "a", "p", "section" ] }, { "id": 444, "text": " resources, the editor provides a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 445, "text": "Mapping", "parents": [ "strong", "p", "section", "section" ] }, { "id": 446, "text": "\nsection in the BlackboardPlan inspector. Mapping is the intended and recommended way to\nconnect variables between related plans.", "parents": [ "p", "section", "section", "div" ] }, { "id": 447, "text": "Key points about mapping", "parents": [ "h4", "section", "section", "section" ] }, { "id": 448, "text": "Mapping connects two variables so they behave as a single logical variable at runtime.", "parents": [ "p", "li", "ul", "section" ] }, { "id": 449, "text": "Linked variables are updated immediately in both scopes — they literally share the\nsame state in memory (no polling or copying).", "parents": [ "p", "li", "ul", "section" ] }, { "id": 450, "text": "Mapping is explicit: you decide which variables the BT exposes as inputs and outputs.", "parents": [ "p", "li", "ul", "section" ] }, { "id": 451, "text": "Linkage is bidirectional — there is no distinction between input and output.", "parents": [ "p", "li", "ul", "section" ] }, { "id": 452, "text": "Mapping does not create new variables automatically — the variables must already\nexist in both blackboard plans before they can be linked.", "parents": [ "p", "li", "ul", "section" ] }, { "id": 453, "text": "Inspector workflow", "parents": [ "h4", "section", "section", "section" ] }, { "id": 454, "text": "Define the required variables in each BlackboardPlan (HSM plan and BT plan, for example).", "parents": [ "p", "li", "ol", "section" ] }, { "id": 455, "text": "Select the ", "parents": [ "p", "li", "ol", "section" ] }, { "id": 456, "text": "BTState", "parents": [ "span", "a", "p", "li" ] }, { "id": 457, "text": " node in the scene or a ", "parents": [ "p", "li", "ol", "section" ] }, { "id": 458, "text": "BTSubtree", "parents": [ "span", "a", "p", "li" ] }, { "id": 459, "text": "\ninside a behavior tree.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 460, "text": "In the Inspector, select the Blackboard Plan property.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 461, "text": "In the BlackboardPlan resource inspector, locate the ", "parents": [ "p", "li", "ol", "section" ] }, { "id": 462, "text": "Mapping", "parents": [ "strong", "p", "li", "ol" ] }, { "id": 463, "text": " section.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 464, "text": "Create mappings by pairing variables (", "parents": [ "p", "li", "ol", "section" ] }, { "id": 465, "text": "On startup the mappings are applied, and the variables are automatically linked\nfor the running instance.", "parents": [ "p", "li", "ol", "section" ] }, { "id": 466, "text": "Programmatic alternative: linking variables in code", "parents": [ "h4", "section", "section", "section" ] }, { "id": 467, "text": "You can also link variables directly in code using ", "parents": [ "p", "section", "section", "section" ] }, { "id": 468, "text": "Blackboard.link_var", "parents": [ "span", "a", "p", "section" ] }, { "id": 469, "text": "Best practices", "parents": [ "h4", "section", "section", "section" ] }, { "id": 470, "text": "Declare all BT dependencies in the BT’s BlackboardPlan instead of relying on parent scopes.", "parents": [ "p", "li", "ul", "section" ] }, { "id": 471, "text": "Use ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 472, "text": "Mapping", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 473, "text": " to explicitly declare which variables should be shared with the HSM.", "parents": [ "p", "li", "ul", "section" ] }, { "id": 474, "text": "Prefer the inspector-based Mapping workflow for clarity and editor support; use\n", "parents": [ "p", "li", "ul", "section" ] }, { "id": 475, "text": " only when runtime or programmatic setup is required.", "parents": [ "p", "li", "ul", "section" ] }, { "id": 476, "text": "Avoid writing to ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 477, "text": " from inside BT tasks unless you have\na very specific reason and accept the coupling it introduces.", "parents": [ "p", "li", "ul", "section" ] }, { "id": 478, "text": "Advanced topic: Blackboard scopes", "parents": [ "h3", "section", "section", "div" ] }, { "id": 479, "text": "The ", "parents": [ "p", "section", "section", "div" ] }, { "id": 480, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 481, "text": " in LimboAI can act as a parent scope\nfor another ", "parents": [ "p", "section", "section", "div" ] }, { "id": 482, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 483, "text": ".\nThis means that if a specific variable is not found in the active scope,\nthe system will look in the parent ", "parents": [ "p", "section", "section", "div" ] }, { "id": 484, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 485, "text": " to find it.\nThis creates a “blackboard scope chain,” where each ", "parents": [ "p", "section", "section", "div" ] }, { "id": 486, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 487, "text": " can have its own parent scope,\nand there is no limit to how many blackboards can be in this chain.\nIt’s important to note that the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 488, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 489, "text": " doesn’t modify values in the parent scopes.", "parents": [ "p", "section", "section", "div" ] }, { "id": 490, "text": "Scopes are created automatically to prevent naming collisions between contextually separate environments:", "parents": [ "p", "section", "section", "div" ] }, { "id": 491, "text": "Within ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 492, "text": "BTNewScope", "parents": [ "span", "a", "p", "li" ] }, { "id": 493, "text": "Under ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 494, "text": "BTSubtree", "parents": [ "span", "a", "p", "li" ] }, { "id": 495, "text": " decorators.", "parents": [ "p", "li", "ul", "section" ] }, { "id": 496, "text": "With ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 497, "text": "LimboState", "parents": [ "span", "a", "p", "li" ] }, { "id": 498, "text": " that have a non-empty blackboard plan defined.", "parents": [ "p", "li", "ul", "section" ] }, { "id": 499, "text": "Under ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 500, "text": "LimboHSM", "parents": [ "span", "a", "p", "li" ] }, { "id": 501, "text": " nodes: A new scope is created at the root level,\nand each ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 502, "text": "BTState", "parents": [ "span", "a", "p", "li" ] }, { "id": 503, "text": " child also receives its own separate scope.", "parents": [ "p", "li", "ul", "section" ] }, { "id": 504, "text": "Sharing data between several agents", "parents": [ "h4", "section", "section", "section" ] }, { "id": 505, "text": "The blackboard scope mechanism can also be used for sharing data between several agents.\nIn the following example, we have a group of agents, and we want to share a common target between them:", "parents": [ "p", "section", "section", "section" ] }, { "id": 506, "text": "In this example, ", "parents": [ "p", "section", "section", "section" ] }, { "id": 507, "text": "blackboard.top()", "parents": [ "span", "a", "p", "section" ] }, { "id": 508, "text": " accesses the root scope of the\n", "parents": [ "p", "section", "section", "section" ] }, { "id": 509, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 510, "text": " chain.\nWe assign that scope to each agent in a group through code:", "parents": [ "p", "section", "section", "section" ] }, { "id": 511, "text": "In conclusion, the ", "parents": [ "p", "section", "section", "section" ] }, { "id": 512, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 513, "text": " scope chain not only\nprevents naming conflicts that can occur between state machines, behavior trees, and sub-trees,\nbut it can also be used to share data between several agents.", "parents": [ "p", "section", "section", "section" ] }, { "id": 514, "text": "Debugging blackboard variables", "parents": [ "h3", "section", "section", "div" ] }, { "id": 515, "text": "When debugging a running project, you can inspect ", "parents": [ "p", "section", "section", "div" ] }, { "id": 516, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 517, "text": " variables\nin the remote Inspector. Click on a task in the LimboAI debugger to view its properties,\nthen click the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 518, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 519, "text": " reference to see all variables across the full\nscope chain, grouped by scope. Variables can be edited live to aid in debugging.\nFor state machines, select a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 520, "text": "LimboState", "parents": [ "span", "a", "p", "section" ] }, { "id": 521, "text": " node in the Remote Scene Tree\nto access its ", "parents": [ "p", "section", "section", "div" ] }, { "id": 522, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 523, "text": " in the same way.", "parents": [ "p", "section", "section", "div" ] }, { "id": 524, "text": "Accessing nodes in the scene tree", "parents": [ "h2", "section", "div", "section" ] }, { "id": 525, "text": "There are several ways to access nodes in the agent’s scene tree from a ", "parents": [ "p", "section", "div", "section" ] }, { "id": 526, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 527, "text": "🛈 Note:", "parents": [ "strong", "p", "div", "blockquote" ] }, { "id": 528, "text": " The root node of the agent’s scene tree can be accessed with the\n", "parents": [ "p", "div", "blockquote", "section" ] }, { "id": 529, "text": "scene_root", "parents": [ "span", "a", "p", "div" ] }, { "id": 530, "text": " property.", "parents": [ "p", "div", "blockquote", "section" ] }, { "id": 531, "text": "With ", "parents": [ "h3", "section", "section", "div" ] }, { "id": 532, "text": " property", "parents": [ "h3", "section", "section", "div" ] }, { "id": 533, "text": "With ", "parents": [ "h3", "section", "section", "div" ] }, { "id": 534, "text": " property", "parents": [ "h3", "section", "section", "div" ] }, { "id": 535, "text": "Using blackboard plan", "parents": [ "h3", "section", "section", "div" ] }, { "id": 536, "text": "You can ", "parents": [ "p", "section", "section", "div" ] }, { "id": 537, "text": "create a blackboard variable", "parents": [ "span", "a", "p", "section" ] }, { "id": 538, "text": " in the editor with the type ", "parents": [ "p", "section", "section", "div" ] }, { "id": 539, "text": "\nand point it to the proper node in the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 540, "text": "BTPlayer", "parents": [ "span", "a", "p", "section" ] }, { "id": 541, "text": " blackboard plan. By default,\nany ", "parents": [ "p", "section", "section", "div" ] }, { "id": 542, "text": " variable will be replaced with the node instance when the blackboard is instantiated\nat runtime (see ", "parents": [ "p", "section", "section", "div" ] }, { "id": 543, "text": "BlackboardPlan.prefetch_nodepath_vars", "parents": [ "span", "a", "p", "section" ] }, { "id": 544, "text": "The property ", "parents": [ "p", "section", "section", "div" ] }, { "id": 545, "text": "BTPlayer.prefetch_nodepath_vars", "parents": [ "span", "p", "section", "section" ] }, { "id": 546, "text": " should be set to ", "parents": [ "p", "section", "section", "div" ] }, { "id": 547, "text": "Create State Machines", "parents": [ "h2", "section", "div", "section" ] }, { "id": 548, "text": "This guide will show how to set up and use a state machine using ", "parents": [ "p", "section", "div", "section" ] }, { "id": 549, "text": "LimboHSM", "parents": [ "span", "a", "p", "section" ] }, { "id": 550, "text": "Initialization", "parents": [ "h3", "section", "section", "div" ] }, { "id": 551, "text": "To use the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 552, "text": "LimboHSM", "parents": [ "span", "a", "p", "section" ] }, { "id": 553, "text": " state machine, you first need to initialize it in your code.\nThis is typically done in the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 554, "text": " function of your script. Here’s an example of how to do this:", "parents": [ "p", "section", "section", "div" ] }, { "id": 555, "text": "In this example, we first declare the state machine and the states we want to use.\nThen, in the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 556, "text": " function, we add transitions between the states.\nFinally, we initialize the state machine and set it to active.", "parents": [ "p", "section", "section", "div" ] }, { "id": 557, "text": "State example", "parents": [ "h3", "section", "section", "div" ] }, { "id": 558, "text": "You can define the behavior of a state in a script and attach it to the state node.\nHere’s an example of a state that plays an animation on an ", "parents": [ "p", "section", "section", "div" ] }, { "id": 559, "text": " and waits for it to finish:", "parents": [ "p", "section", "section", "div" ] }, { "id": 560, "text": "In this example, the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 561, "text": " method is called when the state is entered, and it plays the specified animation.\nThe ", "parents": [ "p", "section", "section", "div" ] }, { "id": 562, "text": " method is called every frame, and it checks if the animation is finished.\nIf it is, it dispatches the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 563, "text": " event, which can result in a transition to the next state.", "parents": [ "p", "section", "section", "div" ] }, { "id": 564, "text": "Events and transitions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 565, "text": "The ", "parents": [ "p", "section", "section", "div" ] }, { "id": 566, "text": "LimboHSM", "parents": [ "span", "a", "p", "section" ] }, { "id": 567, "text": " comes with an ", "parents": [ "p", "section", "section", "div" ] }, { "id": 568, "text": "event system", "parents": [ "strong", "p", "section", "section" ] }, { "id": 569, "text": " that helps\nto ", "parents": [ "p", "section", "section", "div" ] }, { "id": 570, "text": "decouple transitions", "parents": [ "strong", "p", "section", "section" ] }, { "id": 571, "text": " from the state implementations.\nA transition is associated with a specific event, a starting state, and a destination state,\nand it is performed automatically when such an event is dispatched.", "parents": [ "p", "section", "section", "div" ] }, { "id": 572, "text": "To register a transition and associate it with a specific event, you can use the\n", "parents": [ "p", "section", "section", "div" ] }, { "id": 573, "text": "LimboHSM.add_transition", "parents": [ "span", "a", "p", "section" ] }, { "id": 574, "text": " method:", "parents": [ "p", "section", "section", "div" ] }, { "id": 575, "text": "In this example, we’re registering a transition from the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 576, "text": " to the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 577, "text": "\nwhen the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 578, "text": " event is dispatched.", "parents": [ "p", "section", "section", "div" ] }, { "id": 579, "text": "A transition can be also associated with no particular starting state:", "parents": [ "p", "section", "section", "div" ] }, { "id": 580, "text": "Events are dispatched", "parents": [ "strong", "p", "section", "section" ] }, { "id": 581, "text": " with the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 582, "text": "LimboState.dispatch", "parents": [ "span", "a", "p", "section" ] }, { "id": 583, "text": " method.\nIt’s important to note that this method can be called from anywhere in the state machine hierarchy and outside of it.\nEvents are ", "parents": [ "p", "section", "section", "div" ] }, { "id": 584, "text": "propagated from the leaf to the root", "parents": [ "strong", "p", "section", "section" ] }, { "id": 585, "text": " state. This means that if an event is consumed by a state,\nit won’t be propagated to its parent states.", "parents": [ "p", "section", "section", "div" ] }, { "id": 586, "text": "States can also define ", "parents": [ "p", "section", "section", "div" ] }, { "id": 587, "text": "event handlers", "parents": [ "strong", "p", "section", "section" ] }, { "id": 588, "text": ", which are methods that react to specific events.\nThese event handlers typically don’t result in a state transition;\nthey are simply a mechanism for states to react to particular events.\nYou can use the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 589, "text": "LimboState.add_event_handler", "parents": [ "span", "a", "p", "section" ] }, { "id": 590, "text": " method\nto register event handlers in your states:", "parents": [ "p", "section", "section", "div" ] }, { "id": 591, "text": "If the event handler returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 592, "text": ", the event will be considered as consumed,\nand it won’t propagate further or result in a state transition.", "parents": [ "p", "section", "section", "div" ] }, { "id": 593, "text": "State anatomy", "parents": [ "h3", "section", "section", "div" ] }, { "id": 594, "text": "Using behavior trees with state machines", "parents": [ "h3", "section", "section", "div" ] }, { "id": 595, "text": "The ", "parents": [ "p", "section", "section", "div" ] }, { "id": 596, "text": "BTState", "parents": [ "span", "a", "p", "section" ] }, { "id": 597, "text": " is a specialized state node in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 598, "text": "LimboHSM", "parents": [ "span", "a", "p", "section" ] }, { "id": 599, "text": " that can host a behavior tree.\nWhen a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 600, "text": "BTState", "parents": [ "span", "a", "p", "section" ] }, { "id": 601, "text": " is active, it executes the hosted behavior tree each frame,\neffectively using the behavior tree as its implementation.", "parents": [ "p", "section", "section", "div" ] }, { "id": 602, "text": "This allows you to combine the power of behavior trees with the structure and control of state machines.\nBehavior trees are excellent for defining complex, hierarchical behaviors,\nwhile state machines are great for managing the flow and transitions between different behaviors.", "parents": [ "p", "section", "section", "div" ] }, { "id": 603, "text": "Once the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 604, "text": "LimboHSM", "parents": [ "span", "a", "p", "section" ] }, { "id": 605, "text": " has been created, a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 606, "text": "BTState", "parents": [ "span", "a", "p", "section" ] }, { "id": 607, "text": " can be created for a given ", "parents": [ "p", "section", "section", "div" ] }, { "id": 608, "text": "LimboHSM", "parents": [ "span", "a", "p", "section" ] }, { "id": 609, "text": "Single-file state machine setup", "parents": [ "h3", "section", "section", "div" ] }, { "id": 610, "text": "In certain scenarios, such as prototyping or during game jams,\nit’s practical to keep the state machine code in a single file.\nFor such cases, ", "parents": [ "p", "section", "section", "div" ] }, { "id": 611, "text": "LimboHSM", "parents": [ "span", "a", "p", "section" ] }, { "id": 612, "text": "supports delegation", "parents": [ "strong", "p", "section", "section" ] }, { "id": 613, "text": " and provides ", "parents": [ "p", "section", "section", "div" ] }, { "id": 614, "text": "chained methods", "parents": [ "strong", "p", "section", "section" ] }, { "id": 615, "text": " for easier setup.\nLet’s illustrate this with a practical code example:", "parents": [ "p", "section", "section", "div" ] }, { "id": 616, "text": "Important classes", "parents": [ "h2", "section", "div", "section" ] }, { "id": 617, "text": "There are a lot of classes introduced in LimboAI. Here is a list of the most important ones you should know about:", "parents": [ "p", "section", "div", "section" ] }, { "id": 618, "text": "BTTask", "parents": [ "h3", "section", "div", "section" ] }, { "id": 619, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 620, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 621, "text": "Inherited By:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 622, "text": "BTAction", "parents": [ "span", "a", "p", "section" ] }, { "id": 623, "text": "BTComment", "parents": [ "span", "a", "p", "section" ] }, { "id": 624, "text": "BTComposite", "parents": [ "span", "a", "p", "section" ] }, { "id": 625, "text": "BTCondition", "parents": [ "span", "a", "p", "section" ] }, { "id": 626, "text": "BTDecorator", "parents": [ "span", "a", "p", "section" ] }, { "id": 627, "text": "Base class for all ", "parents": [ "p", "section", "div", "section" ] }, { "id": 628, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 629, "text": " tasks.", "parents": [ "p", "section", "div", "section" ] }, { "id": 630, "text": "Description", "parents": [ "h4", "section", "section", "div" ] }, { "id": 631, "text": "Base class for all ", "parents": [ "p", "section", "section", "div" ] }, { "id": 632, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 633, "text": " tasks. A task is a basic building block in a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 634, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 635, "text": " that represents a specific behavior or control flow. Tasks are used to create complex behaviors by combining and nesting them in a hierarchy.", "parents": [ "p", "section", "section", "div" ] }, { "id": 636, "text": "A task can be one of the following types: action, condition, composite, or decorator. Each type of task has its own corresponding subclass: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 637, "text": "BTAction", "parents": [ "span", "a", "p", "section" ] }, { "id": 638, "text": "BTCondition", "parents": [ "span", "a", "p", "section" ] }, { "id": 639, "text": "BTDecorator", "parents": [ "span", "a", "p", "section" ] }, { "id": 640, "text": "BTComposite", "parents": [ "span", "a", "p", "section" ] }, { "id": 641, "text": "Tasks perform their work and return their status using the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 642, "text": "_tick", "parents": [ "span", "a", "p", "section" ] }, { "id": 643, "text": " method. Status values are defined in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 644, "text": "Status", "parents": [ "span", "a", "p", "section" ] }, { "id": 645, "text": ". Tasks can be initialized using the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 646, "text": "_setup", "parents": [ "span", "a", "p", "section" ] }, { "id": 647, "text": " method. See also ", "parents": [ "p", "section", "section", "div" ] }, { "id": 648, "text": "_enter", "parents": [ "span", "a", "p", "section" ] }, { "id": 649, "text": "_exit", "parents": [ "span", "a", "p", "section" ] }, { "id": 650, "text": "Note:", "parents": [ "strong", "p", "section", "section" ] }, { "id": 651, "text": " Do not extend ", "parents": [ "p", "section", "section", "div" ] }, { "id": 652, "text": "BTTask", "parents": [ "strong", "p", "section", "section" ] }, { "id": 653, "text": " directly for your own tasks. Instead, extend one of the subtypes mentioned above.", "parents": [ "p", "section", "section", "div" ] }, { "id": 654, "text": "Properties", "parents": [ "h4", "section", "section", "div" ] }, { "id": 655, "text": "agent", "parents": [ "span", "a", "p", "td" ] }, { "id": 656, "text": "Blackboard", "parents": [ "span", "a", "p", "td" ] }, { "id": 657, "text": "blackboard", "parents": [ "span", "a", "p", "td" ] }, { "id": 658, "text": "custom_name", "parents": [ "span", "a", "p", "td" ] }, { "id": 659, "text": "elapsed_time", "parents": [ "span", "a", "p", "td" ] }, { "id": 660, "text": "scene_root", "parents": [ "span", "a", "p", "td" ] }, { "id": 661, "text": "Status", "parents": [ "span", "a", "p", "td" ] }, { "id": 662, "text": "status", "parents": [ "span", "a", "p", "td" ] }, { "id": 663, "text": "Methods", "parents": [ "h4", "section", "section", "div" ] }, { "id": 664, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 665, "text": "_enter", "parents": [ "span", "a", "p", "td" ] }, { "id": 666, "text": "virtual", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 667, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 668, "text": "_exit", "parents": [ "span", "a", "p", "td" ] }, { "id": 669, "text": "virtual", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 670, "text": "_generate_name", "parents": [ "span", "a", "p", "td" ] }, { "id": 671, "text": "virtual", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 672, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 673, "text": "_get_configuration_warnings", "parents": [ "span", "a", "p", "td" ] }, { "id": 674, "text": "virtual", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 675, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 676, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 677, "text": "_setup", "parents": [ "span", "a", "p", "td" ] }, { "id": 678, "text": "virtual", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 679, "text": "Status", "parents": [ "span", "a", "p", "td" ] }, { "id": 680, "text": "_tick", "parents": [ "span", "a", "p", "td" ] }, { "id": 681, "text": "(delta: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 682, "text": "virtual", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 683, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 684, "text": "abort", "parents": [ "span", "a", "p", "td" ] }, { "id": 685, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 686, "text": "add_child", "parents": [ "span", "a", "p", "td" ] }, { "id": 687, "text": "(task: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 688, "text": "BTTask", "parents": [ "span", "a", "p", "td" ] }, { "id": 689, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 690, "text": "add_child_at_index", "parents": [ "span", "a", "p", "td" ] }, { "id": 691, "text": "(task: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 692, "text": "BTTask", "parents": [ "span", "a", "p", "td" ] }, { "id": 693, "text": ", idx: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 694, "text": "BTTask", "parents": [ "span", "a", "p", "td" ] }, { "id": 695, "text": "clone", "parents": [ "span", "a", "p", "td" ] }, { "id": 696, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 697, "text": "BehaviorTree", "parents": [ "span", "a", "p", "td" ] }, { "id": 698, "text": "editor_get_behavior_tree", "parents": [ "span", "a", "p", "td" ] }, { "id": 699, "text": "Status", "parents": [ "span", "a", "p", "td" ] }, { "id": 700, "text": "execute", "parents": [ "span", "a", "p", "td" ] }, { "id": 701, "text": "(delta: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 702, "text": "BTTask", "parents": [ "span", "a", "p", "td" ] }, { "id": 703, "text": "get_child", "parents": [ "span", "a", "p", "td" ] }, { "id": 704, "text": "(idx: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 705, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 706, "text": "get_child_count", "parents": [ "span", "a", "p", "td" ] }, { "id": 707, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 708, "text": "get_child_count_excluding_comments", "parents": [ "span", "a", "p", "td" ] }, { "id": 709, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 710, "text": "get_index", "parents": [ "span", "a", "p", "td" ] }, { "id": 711, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 712, "text": "BTTask", "parents": [ "span", "a", "p", "td" ] }, { "id": 713, "text": "get_parent", "parents": [ "span", "a", "p", "td" ] }, { "id": 714, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 715, "text": "BTTask", "parents": [ "span", "a", "p", "td" ] }, { "id": 716, "text": "get_root", "parents": [ "span", "a", "p", "td" ] }, { "id": 717, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 718, "text": "get_task_name", "parents": [ "span", "a", "p", "td" ] }, { "id": 719, "text": "has_child", "parents": [ "span", "a", "p", "td" ] }, { "id": 720, "text": "(task: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 721, "text": "BTTask", "parents": [ "span", "a", "p", "td" ] }, { "id": 722, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 723, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 724, "text": "initialize", "parents": [ "span", "a", "p", "td" ] }, { "id": 725, "text": "(agent: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 726, "text": ", blackboard: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 727, "text": "Blackboard", "parents": [ "span", "a", "p", "td" ] }, { "id": 728, "text": ", scene_root: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 729, "text": "is_descendant_of", "parents": [ "span", "a", "p", "td" ] }, { "id": 730, "text": "(task: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 731, "text": "BTTask", "parents": [ "span", "a", "p", "td" ] }, { "id": 732, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 733, "text": "is_root", "parents": [ "span", "a", "p", "td" ] }, { "id": 734, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 735, "text": "BTTask", "parents": [ "span", "a", "p", "td" ] }, { "id": 736, "text": "next_sibling", "parents": [ "span", "a", "p", "td" ] }, { "id": 737, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 738, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 739, "text": "print_tree", "parents": [ "span", "a", "p", "td" ] }, { "id": 740, "text": "(initial_tabs: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 741, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 742, "text": "remove_child", "parents": [ "span", "a", "p", "td" ] }, { "id": 743, "text": "(task: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 744, "text": "BTTask", "parents": [ "span", "a", "p", "td" ] }, { "id": 745, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 746, "text": "remove_child_at_index", "parents": [ "span", "a", "p", "td" ] }, { "id": 747, "text": "(idx: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 748, "text": "Property Descriptions", "parents": [ "h4", "section", "section", "div" ] }, { "id": 749, "text": "agent", "parents": [ "strong", "p", "section", "section" ] }, { "id": 750, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 751, "text": "set_agent", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 752, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 753, "text": "get_agent", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 754, "text": "The agent is the contextual object for the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 755, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 756, "text": " instance. This is usually the parent of the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 757, "text": "BTPlayer", "parents": [ "span", "a", "p", "section" ] }, { "id": 758, "text": " node that utilizes the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 759, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 760, "text": " resource.", "parents": [ "p", "section", "section", "div" ] }, { "id": 761, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 762, "text": "blackboard", "parents": [ "strong", "p", "section", "section" ] }, { "id": 763, "text": "Blackboard", "parents": [ "span", "a", "p", "li" ] }, { "id": 764, "text": "get_blackboard", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 765, "text": "Provides access to the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 766, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 767, "text": ". Blackboard is used to share data among tasks of the associated ", "parents": [ "p", "section", "section", "div" ] }, { "id": 768, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 769, "text": "See ", "parents": [ "p", "section", "section", "div" ] }, { "id": 770, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 771, "text": " for additional info.", "parents": [ "p", "section", "section", "div" ] }, { "id": 772, "text": "custom_name", "parents": [ "strong", "p", "section", "section" ] }, { "id": 773, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 774, "text": "set_custom_name", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 775, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 776, "text": "get_custom_name", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 777, "text": "User-provided name for the task. If not empty, it is used by the editor to represent the task. See ", "parents": [ "p", "section", "section", "div" ] }, { "id": 778, "text": "get_task_name", "parents": [ "span", "a", "p", "section" ] }, { "id": 779, "text": "elapsed_time", "parents": [ "strong", "p", "section", "section" ] }, { "id": 780, "text": "get_elapsed_time", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 781, "text": "Elapsed time since the task was “entered”. See ", "parents": [ "p", "section", "section", "div" ] }, { "id": 782, "text": "_enter", "parents": [ "span", "a", "p", "section" ] }, { "id": 783, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 784, "text": " when task is not ", "parents": [ "p", "section", "section", "div" ] }, { "id": 785, "text": "scene_root", "parents": [ "strong", "p", "section", "section" ] }, { "id": 786, "text": "get_scene_root", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 787, "text": "Root node of the scene the behavior tree is used in (e.g., the owner of the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 788, "text": "BTPlayer", "parents": [ "span", "a", "p", "section" ] }, { "id": 789, "text": " node). Can be uses to retrieve ", "parents": [ "p", "section", "section", "div" ] }, { "id": 790, "text": " references.", "parents": [ "p", "section", "section", "div" ] }, { "id": 791, "text": "Example:", "parents": [ "strong", "p", "section", "section" ] }, { "id": 792, "text": "Status", "parents": [ "span", "a", "p", "section" ] }, { "id": 793, "text": "status", "parents": [ "strong", "p", "section", "section" ] }, { "id": 794, "text": "Status", "parents": [ "span", "a", "p", "li" ] }, { "id": 795, "text": "get_status", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 796, "text": "Last execution ", "parents": [ "p", "section", "section", "div" ] }, { "id": 797, "text": "Status", "parents": [ "span", "a", "p", "section" ] }, { "id": 798, "text": " returned by ", "parents": [ "p", "section", "section", "div" ] }, { "id": 799, "text": "_tick", "parents": [ "span", "a", "p", "section" ] }, { "id": 800, "text": "Method Descriptions", "parents": [ "h4", "section", "section", "div" ] }, { "id": 801, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 802, "text": "_enter", "parents": [ "strong", "p", "section", "section" ] }, { "id": 803, "text": "virtual", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 804, "text": "Called when task is “entered”, i.e. when task is executed while not having a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 805, "text": "status", "parents": [ "span", "a", "p", "section" ] }, { "id": 806, "text": "It is called before ", "parents": [ "p", "section", "section", "div" ] }, { "id": 807, "text": "_tick", "parents": [ "span", "a", "p", "section" ] }, { "id": 808, "text": " in the execution order. This method is used when preparation is needed before main work begins, usually when it takes more than one tick to finish the task. See also ", "parents": [ "p", "section", "section", "div" ] }, { "id": 809, "text": "execute", "parents": [ "span", "a", "p", "section" ] }, { "id": 810, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 811, "text": "_exit", "parents": [ "strong", "p", "section", "section" ] }, { "id": 812, "text": "virtual", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 813, "text": "Called when task is “exited”, i.e. after ", "parents": [ "p", "section", "section", "div" ] }, { "id": 814, "text": "_tick", "parents": [ "span", "a", "p", "section" ] }, { "id": 815, "text": " returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 816, "text": " or ", "parents": [ "p", "section", "section", "div" ] }, { "id": 817, "text": " status. See also ", "parents": [ "p", "section", "section", "div" ] }, { "id": 818, "text": "execute", "parents": [ "span", "a", "p", "section" ] }, { "id": 819, "text": "_generate_name", "parents": [ "strong", "p", "section", "section" ] }, { "id": 820, "text": "virtual", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 821, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 822, "text": "Called to generate a display name for the task unless ", "parents": [ "p", "section", "section", "div" ] }, { "id": 823, "text": "custom_name", "parents": [ "span", "a", "p", "section" ] }, { "id": 824, "text": " is set. See ", "parents": [ "p", "section", "section", "div" ] }, { "id": 825, "text": "get_task_name", "parents": [ "span", "a", "p", "section" ] }, { "id": 826, "text": "_get_configuration_warnings", "parents": [ "strong", "p", "section", "section" ] }, { "id": 827, "text": "virtual", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 828, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 829, "text": "The string returned by this method is shown as a warning message in the behavior tree editor. Any task script that overrides this method must include ", "parents": [ "p", "section", "section", "div" ] }, { "id": 830, "text": " annotation at the top of the file.", "parents": [ "p", "section", "section", "div" ] }, { "id": 831, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 832, "text": "_setup", "parents": [ "strong", "p", "section", "section" ] }, { "id": 833, "text": "virtual", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 834, "text": "Called to initialize a task during initialization step. It is called only once before the task’s first execution tick. This method allows you to set up any necessary state or configurations for the task before it begins executing.", "parents": [ "p", "section", "section", "div" ] }, { "id": 835, "text": "Status", "parents": [ "span", "a", "p", "section" ] }, { "id": 836, "text": "_tick", "parents": [ "strong", "p", "section", "section" ] }, { "id": 837, "text": "(delta: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 838, "text": "virtual", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 839, "text": "Called when task is “ticked”, i.e. executed by ", "parents": [ "p", "section", "section", "div" ] }, { "id": 840, "text": "BTPlayer", "parents": [ "span", "a", "p", "section" ] }, { "id": 841, "text": " or ", "parents": [ "p", "section", "section", "div" ] }, { "id": 842, "text": "BTState", "parents": [ "span", "a", "p", "section" ] }, { "id": 843, "text": " during an update.", "parents": [ "p", "section", "section", "div" ] }, { "id": 844, "text": "Returns execution status as defined in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 845, "text": "Status", "parents": [ "span", "a", "p", "section" ] }, { "id": 846, "text": "Note:", "parents": [ "strong", "p", "section", "section" ] }, { "id": 847, "text": " Tasks perform their main function by implementing this method.", "parents": [ "p", "section", "section", "div" ] }, { "id": 848, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 849, "text": "abort", "parents": [ "strong", "p", "section", "section" ] }, { "id": 850, "text": "Resets the task and its children recursively. If a task is in the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 851, "text": " state, it is exited and its status is reset to ", "parents": [ "p", "section", "section", "div" ] }, { "id": 852, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 853, "text": "add_child", "parents": [ "strong", "p", "section", "section" ] }, { "id": 854, "text": "(task: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 855, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 856, "text": "Adds a child task. The ", "parents": [ "p", "section", "section", "div" ] }, { "id": 857, "text": " is placed at the end of the children list.", "parents": [ "p", "section", "section", "div" ] }, { "id": 858, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 859, "text": "add_child_at_index", "parents": [ "strong", "p", "section", "section" ] }, { "id": 860, "text": "(task: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 861, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 862, "text": ", idx: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 863, "text": "Adds a child task. The ", "parents": [ "p", "section", "section", "div" ] }, { "id": 864, "text": " is placed at ", "parents": [ "p", "section", "section", "div" ] }, { "id": 865, "text": " position in the children list.", "parents": [ "p", "section", "section", "div" ] }, { "id": 866, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 867, "text": "clone", "parents": [ "strong", "p", "section", "section" ] }, { "id": 868, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 869, "text": "Duplicates the task and its children, copying the exported members. Sub-resources are shared for efficiency, except for ", "parents": [ "p", "section", "section", "div" ] }, { "id": 870, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 871, "text": " subtypes, which are always copied. Used by the editor to instantiate ", "parents": [ "p", "section", "section", "div" ] }, { "id": 872, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 873, "text": " and copy-paste tasks.", "parents": [ "p", "section", "section", "div" ] }, { "id": 874, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 875, "text": "editor_get_behavior_tree", "parents": [ "strong", "p", "section", "section" ] }, { "id": 876, "text": "Returns the behavior tree that owns this task. This is only available in the editor.", "parents": [ "p", "section", "section", "div" ] }, { "id": 877, "text": "Status", "parents": [ "span", "a", "p", "section" ] }, { "id": 878, "text": "execute", "parents": [ "strong", "p", "section", "section" ] }, { "id": 879, "text": "(delta: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 880, "text": "Performs task’s execution. The execution follows a specific sequence:", "parents": [ "p", "section", "section", "div" ] }, { "id": 881, "text": "If task’s current ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 882, "text": "status", "parents": [ "span", "a", "p", "li" ] }, { "id": 883, "text": " is not ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 884, "text": ", the ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 885, "text": "_enter", "parents": [ "span", "a", "p", "li" ] }, { "id": 886, "text": " method is called first.", "parents": [ "p", "li", "ul", "section" ] }, { "id": 887, "text": "Next, the ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 888, "text": "_tick", "parents": [ "span", "a", "p", "li" ] }, { "id": 889, "text": " method is called next to perform the task’s work.", "parents": [ "p", "li", "ul", "section" ] }, { "id": 890, "text": "If the ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 891, "text": "_tick", "parents": [ "span", "a", "p", "li" ] }, { "id": 892, "text": " method returns ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 893, "text": " or ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 894, "text": " status, the ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 895, "text": "_exit", "parents": [ "span", "a", "p", "li" ] }, { "id": 896, "text": " method will be called next as part of the execution cleanup.", "parents": [ "p", "li", "ul", "section" ] }, { "id": 897, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 898, "text": "get_child", "parents": [ "strong", "p", "section", "section" ] }, { "id": 899, "text": "(idx: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 900, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 901, "text": "Returns a child task by specifying its index.", "parents": [ "p", "section", "section", "div" ] }, { "id": 902, "text": "get_child_count", "parents": [ "strong", "p", "section", "section" ] }, { "id": 903, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 904, "text": "Returns the number of child tasks.", "parents": [ "p", "section", "section", "div" ] }, { "id": 905, "text": "get_child_count_excluding_comments", "parents": [ "strong", "p", "section", "section" ] }, { "id": 906, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 907, "text": "Returns the number of child tasks not counting ", "parents": [ "p", "section", "section", "div" ] }, { "id": 908, "text": "BTComment", "parents": [ "span", "a", "p", "section" ] }, { "id": 909, "text": " tasks.", "parents": [ "p", "section", "section", "div" ] }, { "id": 910, "text": "get_index", "parents": [ "strong", "p", "section", "section" ] }, { "id": 911, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 912, "text": "Returns the task’s position in the behavior tree branch. Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 913, "text": " if the task doesn’t belong to a task tree, i.e. doesn’t have a parent.", "parents": [ "p", "section", "section", "div" ] }, { "id": 914, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 915, "text": "get_parent", "parents": [ "strong", "p", "section", "section" ] }, { "id": 916, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 917, "text": "Returns the task’s parent.", "parents": [ "p", "section", "section", "div" ] }, { "id": 918, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 919, "text": "get_root", "parents": [ "strong", "p", "section", "section" ] }, { "id": 920, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 921, "text": "Returns the root task of the behavior tree.", "parents": [ "p", "section", "section", "div" ] }, { "id": 922, "text": "get_task_name", "parents": [ "strong", "p", "section", "section" ] }, { "id": 923, "text": "The string returned by this method is used to represent the task in the editor.", "parents": [ "p", "section", "section", "div" ] }, { "id": 924, "text": "Method ", "parents": [ "p", "section", "section", "div" ] }, { "id": 925, "text": "_generate_name", "parents": [ "span", "a", "p", "section" ] }, { "id": 926, "text": " is called to generate a display name for the task unless ", "parents": [ "p", "section", "section", "div" ] }, { "id": 927, "text": "custom_name", "parents": [ "span", "a", "p", "section" ] }, { "id": 928, "text": " is set.", "parents": [ "p", "section", "section", "div" ] }, { "id": 929, "text": "has_child", "parents": [ "strong", "p", "section", "section" ] }, { "id": 930, "text": "(task: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 931, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 932, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 933, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 934, "text": " if ", "parents": [ "p", "section", "section", "div" ] }, { "id": 935, "text": " is a child of this task.", "parents": [ "p", "section", "section", "div" ] }, { "id": 936, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 937, "text": "initialize", "parents": [ "strong", "p", "section", "section" ] }, { "id": 938, "text": "(agent: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 939, "text": ", blackboard: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 940, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 941, "text": ", scene_root: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 942, "text": "Initilizes the task. Assigns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 943, "text": "agent", "parents": [ "span", "a", "p", "section" ] }, { "id": 944, "text": " and ", "parents": [ "p", "section", "section", "div" ] }, { "id": 945, "text": "blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 946, "text": ", and calls ", "parents": [ "p", "section", "section", "div" ] }, { "id": 947, "text": "_setup", "parents": [ "span", "a", "p", "section" ] }, { "id": 948, "text": " for the task and its children.", "parents": [ "p", "section", "section", "div" ] }, { "id": 949, "text": "The method is called recursively for each child task. ", "parents": [ "p", "section", "section", "div" ] }, { "id": 950, "text": " should be the root node of the scene the behavior tree is used in (e.g., the owner of the node that contains the behavior tree).", "parents": [ "p", "section", "section", "div" ] }, { "id": 951, "text": "is_descendant_of", "parents": [ "strong", "p", "section", "section" ] }, { "id": 952, "text": "(task: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 953, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 954, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 955, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 956, "text": " if this task is a descendant of ", "parents": [ "p", "section", "section", "div" ] }, { "id": 957, "text": ". In other words, this task must be a child of ", "parents": [ "p", "section", "section", "div" ] }, { "id": 958, "text": " or one of its children or grandchildren.", "parents": [ "p", "section", "section", "div" ] }, { "id": 959, "text": "is_root", "parents": [ "strong", "p", "section", "section" ] }, { "id": 960, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 961, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 962, "text": " if this task is the root task of its behavior tree. A behavior tree can have only one root task.", "parents": [ "p", "section", "section", "div" ] }, { "id": 963, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 964, "text": "next_sibling", "parents": [ "strong", "p", "section", "section" ] }, { "id": 965, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 966, "text": "Returns the next task after this task in the parent’s children list.", "parents": [ "p", "section", "section", "div" ] }, { "id": 967, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 968, "text": " if this task has no parent or it is the last child in the parent’s children list.", "parents": [ "p", "section", "section", "div" ] }, { "id": 969, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 970, "text": "print_tree", "parents": [ "strong", "p", "section", "section" ] }, { "id": 971, "text": "(initial_tabs: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 972, "text": "Prints the subtree that starts with this task to the console.", "parents": [ "p", "section", "section", "div" ] }, { "id": 973, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 974, "text": "remove_child", "parents": [ "strong", "p", "section", "section" ] }, { "id": 975, "text": "(task: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 976, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 977, "text": "Removes ", "parents": [ "p", "section", "section", "div" ] }, { "id": 978, "text": " from children.", "parents": [ "p", "section", "section", "div" ] }, { "id": 979, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 980, "text": "remove_child_at_index", "parents": [ "strong", "p", "section", "section" ] }, { "id": 981, "text": "(idx: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 982, "text": "Removes a child task at a specified index from children.", "parents": [ "p", "section", "section", "div" ] }, { "id": 983, "text": "BTPlayer", "parents": [ "h3", "section", "div", "section" ] }, { "id": 984, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 985, "text": "Player of ", "parents": [ "p", "section", "div", "section" ] }, { "id": 986, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 987, "text": " resources.", "parents": [ "p", "section", "div", "section" ] }, { "id": 988, "text": "Description", "parents": [ "h4", "section", "section", "div" ] }, { "id": 989, "text": "BTPlayer", "parents": [ "strong", "p", "section", "section" ] }, { "id": 990, "text": " node is used to instantiate and play ", "parents": [ "p", "section", "section", "div" ] }, { "id": 991, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 992, "text": " resources at runtime. During initialization, the behavior tree instance is given references to the agent, the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 993, "text": "blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 994, "text": ", and the current scene root. The agent can be specified by the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 995, "text": "agent_node", "parents": [ "span", "a", "p", "section" ] }, { "id": 996, "text": " property (defaults to the BTPlayer’s parent node).", "parents": [ "p", "section", "section", "div" ] }, { "id": 997, "text": "For an introduction to behavior trees, see ", "parents": [ "p", "section", "section", "div" ] }, { "id": 998, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 999, "text": "Properties", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1000, "text": "active", "parents": [ "span", "a", "p", "td" ] }, { "id": 1001, "text": "agent_node", "parents": [ "span", "a", "p", "td" ] }, { "id": 1002, "text": "BehaviorTree", "parents": [ "span", "a", "p", "td" ] }, { "id": 1003, "text": "behavior_tree", "parents": [ "span", "a", "p", "td" ] }, { "id": 1004, "text": "Blackboard", "parents": [ "span", "a", "p", "td" ] }, { "id": 1005, "text": "blackboard", "parents": [ "span", "a", "p", "td" ] }, { "id": 1006, "text": "BlackboardPlan", "parents": [ "span", "a", "p", "td" ] }, { "id": 1007, "text": "blackboard_plan", "parents": [ "span", "a", "p", "td" ] }, { "id": 1008, "text": "monitor_performance", "parents": [ "span", "a", "p", "td" ] }, { "id": 1009, "text": "UpdateMode", "parents": [ "span", "a", "p", "td" ] }, { "id": 1010, "text": "update_mode", "parents": [ "span", "a", "p", "td" ] }, { "id": 1011, "text": "Methods", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1012, "text": "BTInstance", "parents": [ "span", "a", "p", "td" ] }, { "id": 1013, "text": "get_bt_instance", "parents": [ "span", "a", "p", "td" ] }, { "id": 1014, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1015, "text": "restart", "parents": [ "span", "a", "p", "td" ] }, { "id": 1016, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1017, "text": "set_bt_instance", "parents": [ "span", "a", "p", "td" ] }, { "id": 1018, "text": "(bt_instance: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1019, "text": "BTInstance", "parents": [ "span", "a", "p", "td" ] }, { "id": 1020, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1021, "text": "set_scene_root_hint", "parents": [ "span", "a", "p", "td" ] }, { "id": 1022, "text": "(scene_root: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1023, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1024, "text": "update", "parents": [ "span", "a", "p", "td" ] }, { "id": 1025, "text": "(delta: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1026, "text": "Signals", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1027, "text": "behavior_tree_finished", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1028, "text": "(status: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1029, "text": "Deprecated:", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1030, "text": " Use ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1031, "text": "updated", "parents": [ "span", "a", "p", "section" ] }, { "id": 1032, "text": " signal instead.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1033, "text": "Emitted when the behavior tree has finished executing and returned ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1034, "text": " or ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1035, "text": "Argument ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1036, "text": " holds the status returned by the behavior tree. See ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1037, "text": "Status", "parents": [ "span", "a", "p", "section" ] }, { "id": 1038, "text": "updated", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1039, "text": "(status: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1040, "text": "Emitted when BTPlayer has finished the behavior tree update.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1041, "text": "Argument ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1042, "text": " holds the status returned by the behavior tree. See ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1043, "text": "Status", "parents": [ "span", "a", "p", "section" ] }, { "id": 1044, "text": "Enumerations", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1045, "text": "enum ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1046, "text": "UpdateMode", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1047, "text": "UpdateMode", "parents": [ "span", "a", "p", "section" ] }, { "id": 1048, "text": "IDLE", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1049, "text": "Execute behavior tree during the idle process.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1050, "text": "UpdateMode", "parents": [ "span", "a", "p", "section" ] }, { "id": 1051, "text": "PHYSICS", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1052, "text": "Execute behavior tree during the physics process.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1053, "text": "UpdateMode", "parents": [ "span", "a", "p", "section" ] }, { "id": 1054, "text": "MANUAL", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1055, "text": "Behavior tree is executed manually by calling ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1056, "text": "update", "parents": [ "span", "a", "p", "section" ] }, { "id": 1057, "text": "Property Descriptions", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1058, "text": "active", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1059, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 1060, "text": "set_active", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1061, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 1062, "text": "get_active", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1063, "text": "If ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1064, "text": ", the behavior tree will be executed during update.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1065, "text": "agent_node", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1066, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 1067, "text": "set_agent_node", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1068, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 1069, "text": "get_agent_node", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1070, "text": "Path to the node that will be used as the agent. Setting it after instantiation will have no effect.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1071, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 1072, "text": "behavior_tree", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1073, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 1074, "text": "set_behavior_tree", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1075, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 1076, "text": "BehaviorTree", "parents": [ "span", "a", "p", "li" ] }, { "id": 1077, "text": "BehaviorTree", "parents": [ "span", "a", "p", "li" ] }, { "id": 1078, "text": "get_behavior_tree", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1079, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 1080, "text": " resource to instantiate and execute at runtime.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1081, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 1082, "text": "blackboard", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1083, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 1084, "text": "set_blackboard", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1085, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 1086, "text": "Blackboard", "parents": [ "span", "a", "p", "li" ] }, { "id": 1087, "text": "Blackboard", "parents": [ "span", "a", "p", "li" ] }, { "id": 1088, "text": "get_blackboard", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1089, "text": "Holds data shared by the behavior tree tasks. See ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1090, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 1091, "text": "BlackboardPlan", "parents": [ "span", "a", "p", "section" ] }, { "id": 1092, "text": "blackboard_plan", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1093, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 1094, "text": "set_blackboard_plan", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1095, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 1096, "text": "BlackboardPlan", "parents": [ "span", "a", "p", "li" ] }, { "id": 1097, "text": "BlackboardPlan", "parents": [ "span", "a", "p", "li" ] }, { "id": 1098, "text": "get_blackboard_plan", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1099, "text": "Stores and manages variables that will be used in constructing new ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1100, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 1101, "text": " instances.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1102, "text": "monitor_performance", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1103, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 1104, "text": "set_monitor_performance", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1105, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 1106, "text": "get_monitor_performance", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1107, "text": "If ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1108, "text": ", adds a performance monitor to “Debugger->Monitors” for each instance of this ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1109, "text": "BTPlayer", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1110, "text": " node.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1111, "text": "UpdateMode", "parents": [ "span", "a", "p", "section" ] }, { "id": 1112, "text": "update_mode", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1113, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 1114, "text": "set_update_mode", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1115, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 1116, "text": "UpdateMode", "parents": [ "span", "a", "p", "li" ] }, { "id": 1117, "text": "UpdateMode", "parents": [ "span", "a", "p", "li" ] }, { "id": 1118, "text": "get_update_mode", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1119, "text": "Determines when the behavior tree is executed. See ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1120, "text": "UpdateMode", "parents": [ "span", "a", "p", "section" ] }, { "id": 1121, "text": "Method Descriptions", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1122, "text": "BTInstance", "parents": [ "span", "a", "p", "section" ] }, { "id": 1123, "text": "get_bt_instance", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1124, "text": "Returns the behavior tree instance.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1125, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1126, "text": "restart", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1127, "text": "Resets the behavior tree’s execution. Each running task will be aborted and the next tree execution will start anew. This method does not reset ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1128, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 1129, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1130, "text": "set_bt_instance", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1131, "text": "(bt_instance: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1132, "text": "BTInstance", "parents": [ "span", "a", "p", "section" ] }, { "id": 1133, "text": "Sets the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1134, "text": "BTInstance", "parents": [ "span", "a", "p", "section" ] }, { "id": 1135, "text": " to play. This method is useful when you want to switch to a different behavior tree instance at runtime. See also ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1136, "text": "BehaviorTree.instantiate", "parents": [ "span", "a", "p", "section" ] }, { "id": 1137, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1138, "text": "set_scene_root_hint", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1139, "text": "(scene_root: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1140, "text": "Sets the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1141, "text": " that will be used as the scene root for the newly instantiated behavior tree. Should be called before the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1142, "text": "BTPlayer", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1143, "text": " is added to the scene tree (before ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1144, "text": "). This is typically useful when creating ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1145, "text": "BTPlayer", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1146, "text": " nodes dynamically from code.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1147, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1148, "text": "update", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1149, "text": "(delta: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1150, "text": "Executes the root task of the behavior tree instance if ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1151, "text": "active", "parents": [ "span", "a", "p", "section" ] }, { "id": 1152, "text": " is ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1153, "text": ". Call this method when ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1154, "text": "update_mode", "parents": [ "span", "a", "p", "section" ] }, { "id": 1155, "text": " is set to ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1156, "text": "MANUAL", "parents": [ "span", "a", "p", "section" ] }, { "id": 1157, "text": ". When ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1158, "text": "update_mode", "parents": [ "span", "a", "p", "section" ] }, { "id": 1159, "text": " is not ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1160, "text": "MANUAL", "parents": [ "span", "a", "p", "section" ] }, { "id": 1161, "text": ", the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1162, "text": "update", "parents": [ "span", "a", "p", "section" ] }, { "id": 1163, "text": " will be called automatically. See ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1164, "text": "UpdateMode", "parents": [ "span", "a", "p", "section" ] }, { "id": 1165, "text": "Blackboard", "parents": [ "h3", "section", "div", "section" ] }, { "id": 1166, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 1167, "text": "A key/value storage for sharing among ", "parents": [ "p", "section", "div", "section" ] }, { "id": 1168, "text": "LimboHSM", "parents": [ "span", "a", "p", "section" ] }, { "id": 1169, "text": " states and ", "parents": [ "p", "section", "div", "section" ] }, { "id": 1170, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 1171, "text": " tasks.", "parents": [ "p", "section", "div", "section" ] }, { "id": 1172, "text": "Description", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1173, "text": "Blackboard is where data is stored and shared between states in the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1174, "text": "LimboHSM", "parents": [ "span", "a", "p", "section" ] }, { "id": 1175, "text": " system and tasks in a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1176, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 1177, "text": ". Each state and task in the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1178, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 1179, "text": " can access this Blackboard, allowing them to read and write data. This makes it easy to share information between different actions and behaviors.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1180, "text": "Blackboard can also act as a parent scope for another Blackboard. If a specific variable is not found in the active scope, it looks in the parent Blackboard to find it. A parent Blackboard can itself have its own parent scope, forming what we call a “blackboard scope chain.” Importantly, there is no limit to how many Blackboards can be in this chain, and the Blackboard doesn’t modify values in the parent scopes.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1181, "text": "New scopes can be created using the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1182, "text": "BTNewScope", "parents": [ "span", "a", "p", "section" ] }, { "id": 1183, "text": " and ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1184, "text": "BTSubtree", "parents": [ "span", "a", "p", "section" ] }, { "id": 1185, "text": " decorators. Additionally, a new scope is automatically created for any ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1186, "text": "LimboState", "parents": [ "span", "a", "p", "section" ] }, { "id": 1187, "text": " that has defined non-empty Blackboard data or for any root-level ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1188, "text": "LimboHSM", "parents": [ "span", "a", "p", "section" ] }, { "id": 1189, "text": " node.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1190, "text": "Methods", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1191, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1192, "text": "bind_var_to_property", "parents": [ "span", "a", "p", "td" ] }, { "id": 1193, "text": "(var_name: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1194, "text": ", object: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1195, "text": ", property: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1196, "text": ", create: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1197, "text": " = false)", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1198, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1199, "text": "clear", "parents": [ "span", "a", "p", "td" ] }, { "id": 1200, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1201, "text": "erase_var", "parents": [ "span", "a", "p", "td" ] }, { "id": 1202, "text": "(var_name: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1203, "text": "Blackboard", "parents": [ "span", "a", "p", "td" ] }, { "id": 1204, "text": "get_parent", "parents": [ "span", "a", "p", "td" ] }, { "id": 1205, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1206, "text": "get_var", "parents": [ "span", "a", "p", "td" ] }, { "id": 1207, "text": "(var_name: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1208, "text": ", default: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1209, "text": " = null, complain: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1210, "text": " = true) ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1211, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1212, "text": "get_vars_as_dict", "parents": [ "span", "a", "p", "td" ] }, { "id": 1213, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1214, "text": "has_var", "parents": [ "span", "a", "p", "td" ] }, { "id": 1215, "text": "(var_name: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1216, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1217, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1218, "text": "link_var", "parents": [ "span", "a", "p", "td" ] }, { "id": 1219, "text": "(var_name: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1220, "text": ", target_blackboard: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1221, "text": "Blackboard", "parents": [ "span", "a", "p", "td" ] }, { "id": 1222, "text": ", target_var: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1223, "text": ", create: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1224, "text": " = false)", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1225, "text": "Array", "parents": [ "span", "p", "td", "tr" ] }, { "id": 1226, "text": "list_vars", "parents": [ "span", "a", "p", "td" ] }, { "id": 1227, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1228, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1229, "text": "populate_from_dict", "parents": [ "span", "a", "p", "td" ] }, { "id": 1230, "text": "(dictionary: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1231, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1232, "text": "print_state", "parents": [ "span", "a", "p", "td" ] }, { "id": 1233, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1234, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1235, "text": "set_parent", "parents": [ "span", "a", "p", "td" ] }, { "id": 1236, "text": "(blackboard: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1237, "text": "Blackboard", "parents": [ "span", "a", "p", "td" ] }, { "id": 1238, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1239, "text": "set_var", "parents": [ "span", "a", "p", "td" ] }, { "id": 1240, "text": "(var_name: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1241, "text": ", value: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1242, "text": "Blackboard", "parents": [ "span", "a", "p", "td" ] }, { "id": 1243, "text": "top", "parents": [ "span", "a", "p", "td" ] }, { "id": 1244, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1245, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1246, "text": "unbind_var", "parents": [ "span", "a", "p", "td" ] }, { "id": 1247, "text": "(var_name: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1248, "text": "Method Descriptions", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1249, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1250, "text": "bind_var_to_property", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1251, "text": "(var_name: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1252, "text": ", object: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1253, "text": ", property: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1254, "text": ", create: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1255, "text": " = false) ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1256, "text": "Establish a binding between a variable and the object’s property specified by ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1257, "text": " and ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1258, "text": ". Changes to the variable update the property, and vice versa. If ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1259, "text": " is ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1260, "text": ", the variable will be created if it doesn’t exist.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1261, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1262, "text": "clear", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1263, "text": "Removes all variables from the Blackboard. Parent scopes are not affected.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1264, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1265, "text": "erase_var", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1266, "text": "(var_name: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1267, "text": "Removes a variable by its name.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1268, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 1269, "text": "get_parent", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1270, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1271, "text": "Returns a Blackboard that serves as the parent scope for this instance.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1272, "text": "get_var", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1273, "text": "(var_name: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1274, "text": ", default: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1275, "text": " = null, complain: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1276, "text": " = true) ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1277, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1278, "text": "Returns variable value or ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1279, "text": " if variable doesn’t exist. If ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1280, "text": " is ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1281, "text": ", an error will be printed if variable doesn’t exist. If the variable doesn’t exist in the current ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1282, "text": "Blackboard", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1283, "text": " scope, it will look in the parent scope ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1284, "text": "Blackboard", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1285, "text": " to find it.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1286, "text": "get_vars_as_dict", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1287, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1288, "text": "Returns all variables in the Blackboard as a dictionary. Keys are the variable names, values are the variable values. Parent scopes are not included.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1289, "text": "has_var", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1290, "text": "(var_name: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1291, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1292, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1293, "text": " if the Blackboard contains the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1294, "text": " variable, including the parent scopes.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1295, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1296, "text": "link_var", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1297, "text": "(var_name: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1298, "text": ", target_blackboard: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1299, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 1300, "text": ", target_var: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1301, "text": ", create: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1302, "text": " = false) ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1303, "text": "Links a variable to another Blackboard variable. If a variable is linked to another variable, their state will always be identical, and any change to one will be reflected in the other. If ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1304, "text": " is ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1305, "text": ", the variable will be created if it doesn’t exist.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1306, "text": "You can use this method to link a variable in the current scope to a variable in another scope, or in another Blackboard instance. A variable can only be linked to one other variable. Calling this method again will overwrite the previous link. However, it is possible to link to the same variable from multiple different variables.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1307, "text": "Array", "parents": [ "span", "p", "section", "section" ] }, { "id": 1308, "text": "list_vars", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1309, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1310, "text": "Returns all variable names in the Blackboard. Parent scopes are not included.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1311, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1312, "text": "populate_from_dict", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1313, "text": "(dictionary: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1314, "text": "Fills the Blackboard with multiple variables from a dictionary. The dictionary keys must be variable names and the dictionary values must be variable values. Keys must be StringName or String.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1315, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1316, "text": "print_state", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1317, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1318, "text": "Prints the values of all variables in each scope.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1319, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1320, "text": "set_parent", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1321, "text": "(blackboard: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1322, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 1323, "text": "Assigns the parent scope. If a value isn’t in the current Blackboard scope, it will look in the parent scope Blackboard to find it.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1324, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1325, "text": "set_var", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1326, "text": "(var_name: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1327, "text": ", value: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1328, "text": "Assigns a value to a variable in the current Blackboard scope. If the variable doesn’t exist, it will be created. If the variable already exists in the parent scope, the parent scope value will NOT be changed.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1329, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 1330, "text": "top", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1331, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1332, "text": "Returns the topmost ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1333, "text": "Blackboard", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1334, "text": " in the scope chain.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1335, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1336, "text": "unbind_var", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1337, "text": "(var_name: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1338, "text": "Remove binding from a variable.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1339, "text": "BBParam", "parents": [ "h3", "section", "div", "section" ] }, { "id": 1340, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 1341, "text": "Inherited By:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 1342, "text": "BBAabb", "parents": [ "span", "a", "p", "section" ] }, { "id": 1343, "text": "BBArray", "parents": [ "span", "a", "p", "section" ] }, { "id": 1344, "text": "BBBasis", "parents": [ "span", "a", "p", "section" ] }, { "id": 1345, "text": "BBBool", "parents": [ "span", "a", "p", "section" ] }, { "id": 1346, "text": "BBByteArray", "parents": [ "span", "a", "p", "section" ] }, { "id": 1347, "text": "BBColor", "parents": [ "span", "a", "p", "section" ] }, { "id": 1348, "text": "BBColorArray", "parents": [ "span", "a", "p", "section" ] }, { "id": 1349, "text": "BBDictionary", "parents": [ "span", "a", "p", "section" ] }, { "id": 1350, "text": "BBFloat", "parents": [ "span", "a", "p", "section" ] }, { "id": 1351, "text": "BBFloat32Array", "parents": [ "span", "a", "p", "section" ] }, { "id": 1352, "text": "BBFloat64Array", "parents": [ "span", "a", "p", "section" ] }, { "id": 1353, "text": "BBInt", "parents": [ "span", "a", "p", "section" ] }, { "id": 1354, "text": "BBInt32Array", "parents": [ "span", "a", "p", "section" ] }, { "id": 1355, "text": "BBInt64Array", "parents": [ "span", "a", "p", "section" ] }, { "id": 1356, "text": "BBNode", "parents": [ "span", "a", "p", "section" ] }, { "id": 1357, "text": "BBPlane", "parents": [ "span", "a", "p", "section" ] }, { "id": 1358, "text": "BBProjection", "parents": [ "span", "a", "p", "section" ] }, { "id": 1359, "text": "BBQuaternion", "parents": [ "span", "a", "p", "section" ] }, { "id": 1360, "text": "BBRect2", "parents": [ "span", "a", "p", "section" ] }, { "id": 1361, "text": "BBRect2i", "parents": [ "span", "a", "p", "section" ] }, { "id": 1362, "text": "BBString", "parents": [ "span", "a", "p", "section" ] }, { "id": 1363, "text": "BBStringArray", "parents": [ "span", "a", "p", "section" ] }, { "id": 1364, "text": "BBStringName", "parents": [ "span", "a", "p", "section" ] }, { "id": 1365, "text": "BBTransform2D", "parents": [ "span", "a", "p", "section" ] }, { "id": 1366, "text": "BBTransform3D", "parents": [ "span", "a", "p", "section" ] }, { "id": 1367, "text": "BBVariant", "parents": [ "span", "a", "p", "section" ] }, { "id": 1368, "text": "BBVector2", "parents": [ "span", "a", "p", "section" ] }, { "id": 1369, "text": "BBVector2Array", "parents": [ "span", "a", "p", "section" ] }, { "id": 1370, "text": "BBVector2i", "parents": [ "span", "a", "p", "section" ] }, { "id": 1371, "text": "BBVector3", "parents": [ "span", "a", "p", "section" ] }, { "id": 1372, "text": "BBVector3Array", "parents": [ "span", "a", "p", "section" ] }, { "id": 1373, "text": "BBVector3i", "parents": [ "span", "a", "p", "section" ] }, { "id": 1374, "text": "BBVector4", "parents": [ "span", "a", "p", "section" ] }, { "id": 1375, "text": "BBVector4i", "parents": [ "span", "a", "p", "section" ] }, { "id": 1376, "text": "A base class for LimboAI typed parameters.", "parents": [ "p", "section", "div", "section" ] }, { "id": 1377, "text": "Description", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1378, "text": "A base class for LimboAI typed parameters, with the ability to reference a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1379, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 1380, "text": " variable or hold a raw value of a specific ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1381, "text": "Variant.Type", "parents": [ "span", "p", "section", "section" ] }, { "id": 1382, "text": "Note", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1383, "text": ": Don’t instantiate. Use specific subtypes instead.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1384, "text": "Properties", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1385, "text": "saved_value", "parents": [ "span", "a", "p", "td" ] }, { "id": 1386, "text": "ValueSource", "parents": [ "span", "a", "p", "td" ] }, { "id": 1387, "text": "value_source", "parents": [ "span", "a", "p", "td" ] }, { "id": 1388, "text": "variable", "parents": [ "span", "a", "p", "td" ] }, { "id": 1389, "text": "Methods", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1390, "text": "Variant.Type", "parents": [ "span", "p", "td", "tr" ] }, { "id": 1391, "text": "get_type", "parents": [ "span", "a", "p", "td" ] }, { "id": 1392, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1393, "text": "get_value", "parents": [ "span", "a", "p", "td" ] }, { "id": 1394, "text": "(scene_root: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1395, "text": ", blackboard: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1396, "text": "Blackboard", "parents": [ "span", "a", "p", "td" ] }, { "id": 1397, "text": ", default: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1398, "text": " = null)", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1399, "text": "Enumerations", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1400, "text": "enum ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1401, "text": "ValueSource", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1402, "text": "ValueSource", "parents": [ "span", "a", "p", "section" ] }, { "id": 1403, "text": "SAVED_VALUE", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1404, "text": "The value is stored directly within the BBParam resource.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1405, "text": "ValueSource", "parents": [ "span", "a", "p", "section" ] }, { "id": 1406, "text": "BLACKBOARD_VAR", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1407, "text": "The value is referenced by a variable name and retrieved from the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1408, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 1409, "text": ". The variable name is stored within the BBParam resource.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1410, "text": "Property Descriptions", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1411, "text": "saved_value", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1412, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 1413, "text": "set_saved_value", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1414, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 1415, "text": "get_saved_value", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1416, "text": "Stores the parameter value when ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1417, "text": "value_source", "parents": [ "span", "a", "p", "section" ] }, { "id": 1418, "text": " is set to ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1419, "text": "SAVED_VALUE", "parents": [ "span", "a", "p", "section" ] }, { "id": 1420, "text": ". The data type of the value is determined by ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1421, "text": "get_type", "parents": [ "span", "a", "p", "section" ] }, { "id": 1422, "text": "ValueSource", "parents": [ "span", "a", "p", "section" ] }, { "id": 1423, "text": "value_source", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1424, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 1425, "text": "set_value_source", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1426, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 1427, "text": "ValueSource", "parents": [ "span", "a", "p", "li" ] }, { "id": 1428, "text": "ValueSource", "parents": [ "span", "a", "p", "li" ] }, { "id": 1429, "text": "get_value_source", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1430, "text": "Specifies the source of the value for BBParam. See ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1431, "text": "ValueSource", "parents": [ "span", "a", "p", "section" ] }, { "id": 1432, "text": "variable", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1433, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 1434, "text": "set_variable", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1435, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 1436, "text": "get_variable", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1437, "text": "Stores the name of a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1438, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 1439, "text": " variable when ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1440, "text": "value_source", "parents": [ "span", "a", "p", "section" ] }, { "id": 1441, "text": " is set to ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1442, "text": "BLACKBOARD_VAR", "parents": [ "span", "a", "p", "section" ] }, { "id": 1443, "text": "Method Descriptions", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1444, "text": "Variant.Type", "parents": [ "span", "p", "section", "section" ] }, { "id": 1445, "text": "get_type", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1446, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1447, "text": "Returns the expected data type of the parameter.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1448, "text": "get_value", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1449, "text": "(scene_root: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1450, "text": ", blackboard: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1451, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 1452, "text": ", default: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1453, "text": " = null) ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1454, "text": "Returns the value of the parameter.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1455, "text": "LimboState", "parents": [ "h3", "section", "div", "section" ] }, { "id": 1456, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 1457, "text": "Inherited By:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 1458, "text": "BTState", "parents": [ "span", "a", "p", "section" ] }, { "id": 1459, "text": "LimboHSM", "parents": [ "span", "a", "p", "section" ] }, { "id": 1460, "text": "A state node for Hierarchical State Machines (HSM).", "parents": [ "p", "section", "div", "section" ] }, { "id": 1461, "text": "Description", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1462, "text": "A LimboAI state node for Hierarchical State Machines (HSM).", "parents": [ "p", "section", "section", "div" ] }, { "id": 1463, "text": "You can create your state behavior by extending this class. To implement your state logic, you can override ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1464, "text": "_enter", "parents": [ "span", "a", "p", "section" ] }, { "id": 1465, "text": "_exit", "parents": [ "span", "a", "p", "section" ] }, { "id": 1466, "text": "_setup", "parents": [ "span", "a", "p", "section" ] }, { "id": 1467, "text": ", and ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1468, "text": "_update", "parents": [ "span", "a", "p", "section" ] }, { "id": 1469, "text": ". Alternatively, you can delegate state implementation to external methods using the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1470, "text": " methods.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1471, "text": "For additional details on state machines, refer to ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1472, "text": "LimboHSM", "parents": [ "span", "a", "p", "section" ] }, { "id": 1473, "text": "Properties", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1474, "text": "EVENT_FINISHED", "parents": [ "span", "a", "p", "td" ] }, { "id": 1475, "text": "agent", "parents": [ "span", "a", "p", "td" ] }, { "id": 1476, "text": "Blackboard", "parents": [ "span", "a", "p", "td" ] }, { "id": 1477, "text": "blackboard", "parents": [ "span", "a", "p", "td" ] }, { "id": 1478, "text": "BlackboardPlan", "parents": [ "span", "a", "p", "td" ] }, { "id": 1479, "text": "blackboard_plan", "parents": [ "span", "a", "p", "td" ] }, { "id": 1480, "text": "Methods", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1481, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1482, "text": "_enter", "parents": [ "span", "a", "p", "td" ] }, { "id": 1483, "text": "virtual", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1484, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1485, "text": "_exit", "parents": [ "span", "a", "p", "td" ] }, { "id": 1486, "text": "virtual", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1487, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1488, "text": "_setup", "parents": [ "span", "a", "p", "td" ] }, { "id": 1489, "text": "virtual", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1490, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1491, "text": "_update", "parents": [ "span", "a", "p", "td" ] }, { "id": 1492, "text": "(delta: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1493, "text": "virtual", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1494, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1495, "text": "add_event_handler", "parents": [ "span", "a", "p", "td" ] }, { "id": 1496, "text": "(event: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1497, "text": ", handler: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1498, "text": "LimboState", "parents": [ "span", "a", "p", "td" ] }, { "id": 1499, "text": "call_on_enter", "parents": [ "span", "a", "p", "td" ] }, { "id": 1500, "text": "(callable: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1501, "text": "LimboState", "parents": [ "span", "a", "p", "td" ] }, { "id": 1502, "text": "call_on_exit", "parents": [ "span", "a", "p", "td" ] }, { "id": 1503, "text": "(callable: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1504, "text": "LimboState", "parents": [ "span", "a", "p", "td" ] }, { "id": 1505, "text": "call_on_update", "parents": [ "span", "a", "p", "td" ] }, { "id": 1506, "text": "(callable: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1507, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1508, "text": "clear_guard", "parents": [ "span", "a", "p", "td" ] }, { "id": 1509, "text": "dispatch", "parents": [ "span", "a", "p", "td" ] }, { "id": 1510, "text": "(event: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1511, "text": ", cargo: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1512, "text": " = null)", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1513, "text": "LimboState", "parents": [ "span", "a", "p", "td" ] }, { "id": 1514, "text": "get_root", "parents": [ "span", "a", "p", "td" ] }, { "id": 1515, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1516, "text": "is_active", "parents": [ "span", "a", "p", "td" ] }, { "id": 1517, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1518, "text": "LimboState", "parents": [ "span", "a", "p", "td" ] }, { "id": 1519, "text": "named", "parents": [ "span", "a", "p", "td" ] }, { "id": 1520, "text": "(name: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1521, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1522, "text": "set_guard", "parents": [ "span", "a", "p", "td" ] }, { "id": 1523, "text": "(guard_callable: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1524, "text": "Signals", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1525, "text": "entered", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1526, "text": "Emitted when the state is entered.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1527, "text": "exited", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1528, "text": "Emitted when the state is exited.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1529, "text": "setup", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1530, "text": "Emitted when the state is initialized.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1531, "text": "updated", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1532, "text": "(delta: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1533, "text": "Emitted when the state is updated.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1534, "text": "Property Descriptions", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1535, "text": "EVENT_FINISHED", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1536, "text": "event_finished", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1537, "text": "A commonly used event that indicates that the state has finished its work.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1538, "text": "agent", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1539, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 1540, "text": "set_agent", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1541, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 1542, "text": "get_agent", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1543, "text": "An agent associated with the state, assigned during initialization.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1544, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 1545, "text": "blackboard", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1546, "text": "Blackboard", "parents": [ "span", "a", "p", "li" ] }, { "id": 1547, "text": "get_blackboard", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1548, "text": "A key/value data store shared by states within the state machine to which this state belongs.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1549, "text": "BlackboardPlan", "parents": [ "span", "a", "p", "section" ] }, { "id": 1550, "text": "blackboard_plan", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1551, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 1552, "text": "set_blackboard_plan", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1553, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 1554, "text": "BlackboardPlan", "parents": [ "span", "a", "p", "li" ] }, { "id": 1555, "text": "BlackboardPlan", "parents": [ "span", "a", "p", "li" ] }, { "id": 1556, "text": "get_blackboard_plan", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1557, "text": "Stores and manages variables that will be used in constructing new ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1558, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 1559, "text": " instances.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1560, "text": "Method Descriptions", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1561, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1562, "text": "_enter", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1563, "text": "virtual", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1564, "text": "Called when the state is entered.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1565, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1566, "text": "_exit", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1567, "text": "virtual", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1568, "text": "Called when the state is exited. This happens on a transition to another state, and when the state machine is removed from the scene tree (e.g., when the node is freed with ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1569, "text": "Node.queue_free", "parents": [ "span", "p", "section", "section" ] }, { "id": 1570, "text": " or the scene changes). Due to implementation details, ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1571, "text": "_exit", "parents": [ "span", "a", "p", "section" ] }, { "id": 1572, "text": " will not be called on ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1573, "text": "Object.free", "parents": [ "span", "p", "section", "section" ] }, { "id": 1574, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1575, "text": "_setup", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1576, "text": "virtual", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1577, "text": "Called once during initialization. Use this method to initialize your state.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1578, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1579, "text": "_update", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1580, "text": "(delta: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1581, "text": "virtual", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1582, "text": "Called during the update. Implement your state’s behavior with this method.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1583, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1584, "text": "add_event_handler", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1585, "text": "(event: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1586, "text": ", handler: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1587, "text": "Registers a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1588, "text": " to be called when ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1589, "text": " is dispatched. The handler function should have the following signature:", "parents": [ "p", "section", "section", "div" ] }, { "id": 1590, "text": "If the handler returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1591, "text": ", the event will be consumed. Cargo is an optional parameter that can be passed to the handler. See also ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1592, "text": "dispatch", "parents": [ "span", "a", "p", "section" ] }, { "id": 1593, "text": "LimboState", "parents": [ "span", "a", "p", "section" ] }, { "id": 1594, "text": "call_on_enter", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1595, "text": "(callable: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1596, "text": "A chained method that connects the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1597, "text": "entered", "parents": [ "span", "a", "p", "section" ] }, { "id": 1598, "text": " signal to a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1599, "text": "LimboState", "parents": [ "span", "a", "p", "section" ] }, { "id": 1600, "text": "call_on_exit", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1601, "text": "(callable: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1602, "text": "A chained method that connects the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1603, "text": "exited", "parents": [ "span", "a", "p", "section" ] }, { "id": 1604, "text": " signal to a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1605, "text": "LimboState", "parents": [ "span", "a", "p", "section" ] }, { "id": 1606, "text": "call_on_update", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1607, "text": "(callable: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1608, "text": "A chained method that connects the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1609, "text": "updated", "parents": [ "span", "a", "p", "section" ] }, { "id": 1610, "text": " signal to a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1611, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1612, "text": "clear_guard", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1613, "text": "Clears the guard function, removing the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1614, "text": " previously set by ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1615, "text": "set_guard", "parents": [ "span", "a", "p", "section" ] }, { "id": 1616, "text": "dispatch", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1617, "text": "(event: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1618, "text": ", cargo: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1619, "text": " = null) ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1620, "text": "Recursively dispatches a state machine event named ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1621, "text": " with an optional argument ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1622, "text": ". Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1623, "text": " if the event was consumed.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1624, "text": "Events propagate from the leaf state to the root state, and propagation stops as soon as any state consumes the event. States will consume the event if they have a related transition or event handler. For more information on event handlers, see ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1625, "text": "add_event_handler", "parents": [ "span", "a", "p", "section" ] }, { "id": 1626, "text": "LimboState", "parents": [ "span", "a", "p", "section" ] }, { "id": 1627, "text": "get_root", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1628, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1629, "text": "Returns the root ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1630, "text": "LimboState", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1631, "text": "is_active", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1632, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1633, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1634, "text": " if it is currently active, meaning it is the active substate of the parent ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1635, "text": "LimboHSM", "parents": [ "span", "a", "p", "section" ] }, { "id": 1636, "text": "LimboState", "parents": [ "span", "a", "p", "section" ] }, { "id": 1637, "text": "named", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1638, "text": "(name: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1639, "text": "A chained method for setting the name of this state.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1640, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1641, "text": "set_guard", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1642, "text": "(guard_callable: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1643, "text": "Sets the guard function, which is a function called each time a transition to this state is considered. If the function returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1644, "text": ", the transition will be disallowed.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1645, "text": "LimboHSM", "parents": [ "h3", "section", "div", "section" ] }, { "id": 1646, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 1647, "text": "LimboState", "parents": [ "span", "a", "p", "section" ] }, { "id": 1648, "text": "Event-based Hierarchical State Machine (HSM).", "parents": [ "p", "section", "div", "section" ] }, { "id": 1649, "text": "Description", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1650, "text": "Event-based Hierarchical State Machine (HSM) that manages ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1651, "text": "LimboState", "parents": [ "span", "a", "p", "section" ] }, { "id": 1652, "text": " instances and facilitates transitions between them. LimboHSM is a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1653, "text": "LimboState", "parents": [ "span", "a", "p", "section" ] }, { "id": 1654, "text": " in itself and can also serve as a child of another LimboHSM node.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1655, "text": "Properties", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1656, "text": "LimboState", "parents": [ "span", "a", "p", "td" ] }, { "id": 1657, "text": "ANYSTATE", "parents": [ "span", "a", "p", "td" ] }, { "id": 1658, "text": "LimboState", "parents": [ "span", "a", "p", "td" ] }, { "id": 1659, "text": "initial_state", "parents": [ "span", "a", "p", "td" ] }, { "id": 1660, "text": "UpdateMode", "parents": [ "span", "a", "p", "td" ] }, { "id": 1661, "text": "update_mode", "parents": [ "span", "a", "p", "td" ] }, { "id": 1662, "text": "Methods", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1663, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1664, "text": "add_transition", "parents": [ "span", "a", "p", "td" ] }, { "id": 1665, "text": "(from_state: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1666, "text": "LimboState", "parents": [ "span", "a", "p", "td" ] }, { "id": 1667, "text": ", to_state: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1668, "text": "LimboState", "parents": [ "span", "a", "p", "td" ] }, { "id": 1669, "text": ", event: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1670, "text": ", guard: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1671, "text": " = Callable())", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1672, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1673, "text": "change_active_state", "parents": [ "span", "a", "p", "td" ] }, { "id": 1674, "text": "(state: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1675, "text": "LimboState", "parents": [ "span", "a", "p", "td" ] }, { "id": 1676, "text": "LimboState", "parents": [ "span", "a", "p", "td" ] }, { "id": 1677, "text": "get_active_state", "parents": [ "span", "a", "p", "td" ] }, { "id": 1678, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1679, "text": "LimboState", "parents": [ "span", "a", "p", "td" ] }, { "id": 1680, "text": "get_leaf_state", "parents": [ "span", "a", "p", "td" ] }, { "id": 1681, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1682, "text": "LimboState", "parents": [ "span", "a", "p", "td" ] }, { "id": 1683, "text": "get_previous_active_state", "parents": [ "span", "a", "p", "td" ] }, { "id": 1684, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1685, "text": "has_transition", "parents": [ "span", "a", "p", "td" ] }, { "id": 1686, "text": "(from_state: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1687, "text": "LimboState", "parents": [ "span", "a", "p", "td" ] }, { "id": 1688, "text": ", event: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1689, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1690, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1691, "text": "initialize", "parents": [ "span", "a", "p", "td" ] }, { "id": 1692, "text": "(agent: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1693, "text": ", parent_scope: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1694, "text": "Blackboard", "parents": [ "span", "a", "p", "td" ] }, { "id": 1695, "text": " = null)", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1696, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1697, "text": "remove_transition", "parents": [ "span", "a", "p", "td" ] }, { "id": 1698, "text": "(from_state: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1699, "text": "LimboState", "parents": [ "span", "a", "p", "td" ] }, { "id": 1700, "text": ", event: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1701, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1702, "text": "set_active", "parents": [ "span", "a", "p", "td" ] }, { "id": 1703, "text": "(active: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1704, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1705, "text": "update", "parents": [ "span", "a", "p", "td" ] }, { "id": 1706, "text": "(delta: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1707, "text": "Signals", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1708, "text": "active_state_changed", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1709, "text": "(current: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1710, "text": "LimboState", "parents": [ "span", "a", "p", "section" ] }, { "id": 1711, "text": ", previous: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1712, "text": "LimboState", "parents": [ "span", "a", "p", "section" ] }, { "id": 1713, "text": "Emitted when the currently active substate is switched to a different substate.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1714, "text": "Enumerations", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1715, "text": "enum ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1716, "text": "UpdateMode", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1717, "text": "UpdateMode", "parents": [ "span", "a", "p", "section" ] }, { "id": 1718, "text": "IDLE", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1719, "text": "Update the state machine during the idle process.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1720, "text": "UpdateMode", "parents": [ "span", "a", "p", "section" ] }, { "id": 1721, "text": "PHYSICS", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1722, "text": "Update the state machine during the physics process.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1723, "text": "UpdateMode", "parents": [ "span", "a", "p", "section" ] }, { "id": 1724, "text": "MANUAL", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1725, "text": "Manually update the state machine by calling ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1726, "text": "update", "parents": [ "span", "a", "p", "section" ] }, { "id": 1727, "text": " from a script.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1728, "text": "Property Descriptions", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1729, "text": "LimboState", "parents": [ "span", "a", "p", "section" ] }, { "id": 1730, "text": "ANYSTATE", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1731, "text": "LimboState", "parents": [ "span", "a", "p", "li" ] }, { "id": 1732, "text": "anystate", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1733, "text": "Useful for defining a transition from any state.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1734, "text": "LimboState", "parents": [ "span", "a", "p", "section" ] }, { "id": 1735, "text": "initial_state", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1736, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 1737, "text": "set_initial_state", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1738, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 1739, "text": "LimboState", "parents": [ "span", "a", "p", "li" ] }, { "id": 1740, "text": "LimboState", "parents": [ "span", "a", "p", "li" ] }, { "id": 1741, "text": "get_initial_state", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1742, "text": "The substate that becomes active when the state machine is activated using the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1743, "text": "set_active", "parents": [ "span", "a", "p", "section" ] }, { "id": 1744, "text": " method. If not explicitly set, the first child of the LimboHSM will be considered the initial state.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1745, "text": "UpdateMode", "parents": [ "span", "a", "p", "section" ] }, { "id": 1746, "text": "update_mode", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1747, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 1748, "text": "set_update_mode", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1749, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 1750, "text": "UpdateMode", "parents": [ "span", "a", "p", "li" ] }, { "id": 1751, "text": "UpdateMode", "parents": [ "span", "a", "p", "li" ] }, { "id": 1752, "text": "get_update_mode", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1753, "text": "Specifies when the state machine should be updated. See ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1754, "text": "UpdateMode", "parents": [ "span", "a", "p", "section" ] }, { "id": 1755, "text": "Method Descriptions", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1756, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1757, "text": "add_transition", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1758, "text": "(from_state: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1759, "text": "LimboState", "parents": [ "span", "a", "p", "section" ] }, { "id": 1760, "text": ", to_state: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1761, "text": "LimboState", "parents": [ "span", "a", "p", "section" ] }, { "id": 1762, "text": ", event: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1763, "text": ", guard: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1764, "text": " = Callable()) ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1765, "text": "Establishes a transition from one state to another when ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1766, "text": " is dispatched. Both ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1767, "text": " and ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1768, "text": " must be immediate children of this ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1769, "text": "LimboHSM", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1770, "text": "Optionally, a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1771, "text": " function can be specified, which must return a boolean value. If the guard function returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1772, "text": ", the transition will not occur. The guard function is called immediately before the transition is considered. For a state-wide guard function, check out ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1773, "text": "LimboState.set_guard", "parents": [ "span", "a", "p", "section" ] }, { "id": 1774, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1775, "text": "change_active_state", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1776, "text": "(state: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1777, "text": "LimboState", "parents": [ "span", "a", "p", "section" ] }, { "id": 1778, "text": "Changes the currently active substate to ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1779, "text": ". If ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1780, "text": " is already active, it will be exited and reentered.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1781, "text": " must be a child of this ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1782, "text": "LimboHSM", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1783, "text": "LimboState", "parents": [ "span", "a", "p", "section" ] }, { "id": 1784, "text": "get_active_state", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1785, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1786, "text": "Returns the currently active substate.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1787, "text": "LimboState", "parents": [ "span", "a", "p", "section" ] }, { "id": 1788, "text": "get_leaf_state", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1789, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1790, "text": "Returns the currently active leaf state within the state machine.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1791, "text": "LimboState", "parents": [ "span", "a", "p", "section" ] }, { "id": 1792, "text": "get_previous_active_state", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1793, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1794, "text": "Returns the previously active substate.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1795, "text": "has_transition", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1796, "text": "(from_state: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1797, "text": "LimboState", "parents": [ "span", "a", "p", "section" ] }, { "id": 1798, "text": ", event: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1799, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1800, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1801, "text": " if there is a transition from ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1802, "text": " for a given ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1803, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1804, "text": "initialize", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1805, "text": "(agent: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1806, "text": ", parent_scope: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1807, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 1808, "text": " = null) ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1809, "text": "Initiates the state and calls ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1810, "text": "LimboState._setup", "parents": [ "span", "a", "p", "section" ] }, { "id": 1811, "text": " for both itself and all substates.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1812, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1813, "text": "remove_transition", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1814, "text": "(from_state: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1815, "text": "LimboState", "parents": [ "span", "a", "p", "section" ] }, { "id": 1816, "text": ", event: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1817, "text": "Removes a transition from a state associated with specific ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1818, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1819, "text": "set_active", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1820, "text": "(active: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1821, "text": "When set to ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1822, "text": ", switches the state to ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1823, "text": "initial_state", "parents": [ "span", "a", "p", "section" ] }, { "id": 1824, "text": " and activates state processing according to ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1825, "text": "update_mode", "parents": [ "span", "a", "p", "section" ] }, { "id": 1826, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1827, "text": "update", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1828, "text": "(delta: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1829, "text": "Calls ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1830, "text": "LimboState._update", "parents": [ "span", "a", "p", "section" ] }, { "id": 1831, "text": " on itself and the active substate, with the call cascading down to the leaf state. This method is automatically triggered if ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1832, "text": "update_mode", "parents": [ "span", "a", "p", "section" ] }, { "id": 1833, "text": " is not set to ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1834, "text": "MANUAL", "parents": [ "span", "a", "p", "section" ] }, { "id": 1835, "text": "BTState", "parents": [ "h3", "section", "div", "section" ] }, { "id": 1836, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 1837, "text": "LimboState", "parents": [ "span", "a", "p", "section" ] }, { "id": 1838, "text": "A state node for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 1839, "text": "LimboHSM", "parents": [ "span", "a", "p", "section" ] }, { "id": 1840, "text": " that hosts a ", "parents": [ "p", "section", "div", "section" ] }, { "id": 1841, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 1842, "text": "Description", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1843, "text": "BTState is a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1844, "text": "LimboState", "parents": [ "span", "a", "p", "section" ] }, { "id": 1845, "text": " node that manages a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1846, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 1847, "text": " to provide behavior logic for the state. It instantiates and runs the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1848, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 1849, "text": " resource, dispatching a state machine event upon ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1850, "text": " or ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1851, "text": ". Event names are customizable through ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1852, "text": "success_event", "parents": [ "span", "a", "p", "section" ] }, { "id": 1853, "text": " and ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1854, "text": "failure_event", "parents": [ "span", "a", "p", "section" ] }, { "id": 1855, "text": ". For further details on state machine events, see ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1856, "text": "LimboState.dispatch", "parents": [ "span", "a", "p", "section" ] }, { "id": 1857, "text": "Properties", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1858, "text": "BehaviorTree", "parents": [ "span", "a", "p", "td" ] }, { "id": 1859, "text": "behavior_tree", "parents": [ "span", "a", "p", "td" ] }, { "id": 1860, "text": "failure_event", "parents": [ "span", "a", "p", "td" ] }, { "id": 1861, "text": "monitor_performance", "parents": [ "span", "a", "p", "td" ] }, { "id": 1862, "text": "success_event", "parents": [ "span", "a", "p", "td" ] }, { "id": 1863, "text": "Methods", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1864, "text": "BTInstance", "parents": [ "span", "a", "p", "td" ] }, { "id": 1865, "text": "get_bt_instance", "parents": [ "span", "a", "p", "td" ] }, { "id": 1866, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1867, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 1868, "text": "set_scene_root_hint", "parents": [ "span", "a", "p", "td" ] }, { "id": 1869, "text": "(scene_root: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 1870, "text": "Property Descriptions", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1871, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 1872, "text": "behavior_tree", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1873, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 1874, "text": "set_behavior_tree", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1875, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 1876, "text": "BehaviorTree", "parents": [ "span", "a", "p", "li" ] }, { "id": 1877, "text": "BehaviorTree", "parents": [ "span", "a", "p", "li" ] }, { "id": 1878, "text": "get_behavior_tree", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1879, "text": "A ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1880, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 1881, "text": " resource that defines state behavior.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1882, "text": "failure_event", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1883, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 1884, "text": "set_failure_event", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1885, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 1886, "text": "get_failure_event", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1887, "text": "HSM event that will be dispatched when the behavior tree results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1888, "text": ". See ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1889, "text": "LimboState.dispatch", "parents": [ "span", "a", "p", "section" ] }, { "id": 1890, "text": "monitor_performance", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1891, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 1892, "text": "set_monitor_performance", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1893, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 1894, "text": "get_monitor_performance", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1895, "text": "If ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1896, "text": ", adds a performance monitor to “Debugger->Monitors” for each instance of this ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1897, "text": "BTState", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1898, "text": " node.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1899, "text": "success_event", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1900, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 1901, "text": "set_success_event", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1902, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 1903, "text": "get_success_event", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 1904, "text": "HSM event that will be dispatched when the behavior tree results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1905, "text": ". See ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1906, "text": "LimboState.dispatch", "parents": [ "span", "a", "p", "section" ] }, { "id": 1907, "text": "Method Descriptions", "parents": [ "h4", "section", "section", "div" ] }, { "id": 1908, "text": "BTInstance", "parents": [ "span", "a", "p", "section" ] }, { "id": 1909, "text": "get_bt_instance", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1910, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1911, "text": "Returns the behavior tree instance.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1912, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 1913, "text": "set_scene_root_hint", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1914, "text": "(scene_root: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1915, "text": "Sets the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1916, "text": " that will be used as the scene root for the newly instantiated behavior tree. Should be called before the state machine is initialized. This is typically useful when creating ", "parents": [ "p", "section", "section", "div" ] }, { "id": 1917, "text": "BTState", "parents": [ "strong", "p", "section", "section" ] }, { "id": 1918, "text": " nodes dynamically from code.", "parents": [ "p", "section", "section", "div" ] }, { "id": 1919, "text": "Full class reference is available in the side bar.", "parents": [ "p", "section", "div", "section" ] }, { "id": 1920, "text": "BBAabb", "parents": [ "h2", "section", "div", "section" ] }, { "id": 1921, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 1922, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 1923, "text": "AABB-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 1924, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 1925, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 1926, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 1927, "text": "BBArray", "parents": [ "h2", "section", "div", "section" ] }, { "id": 1928, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 1929, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 1930, "text": "Array-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 1931, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 1932, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 1933, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 1934, "text": "BBBasis", "parents": [ "h2", "section", "div", "section" ] }, { "id": 1935, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 1936, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 1937, "text": "Basis-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 1938, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 1939, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 1940, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 1941, "text": "BBBool", "parents": [ "h2", "section", "div", "section" ] }, { "id": 1942, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 1943, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 1944, "text": "Bool-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 1945, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 1946, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 1947, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 1948, "text": "BBByteArray", "parents": [ "h2", "section", "div", "section" ] }, { "id": 1949, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 1950, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 1951, "text": "ByteArray-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 1952, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 1953, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 1954, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 1955, "text": "BBColor", "parents": [ "h2", "section", "div", "section" ] }, { "id": 1956, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 1957, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 1958, "text": "Color-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 1959, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 1960, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 1961, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 1962, "text": "BBColorArray", "parents": [ "h2", "section", "div", "section" ] }, { "id": 1963, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 1964, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 1965, "text": "ColorArray-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 1966, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 1967, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 1968, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 1969, "text": "BBDictionary", "parents": [ "h2", "section", "div", "section" ] }, { "id": 1970, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 1971, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 1972, "text": "Dictionary-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 1973, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 1974, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 1975, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 1976, "text": "BBFloat", "parents": [ "h2", "section", "div", "section" ] }, { "id": 1977, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 1978, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 1979, "text": "Float-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 1980, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 1981, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 1982, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 1983, "text": "BBFloat32Array", "parents": [ "h2", "section", "div", "section" ] }, { "id": 1984, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 1985, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 1986, "text": "PackedFloat32Array-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 1987, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 1988, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 1989, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 1990, "text": "BBFloat64Array", "parents": [ "h2", "section", "div", "section" ] }, { "id": 1991, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 1992, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 1993, "text": "PackedFloat64Array-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 1994, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 1995, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 1996, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 1997, "text": "BBInt", "parents": [ "h2", "section", "div", "section" ] }, { "id": 1998, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 1999, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2000, "text": "Integer-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2001, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2002, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2003, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2004, "text": "BBInt32Array", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2005, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2006, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2007, "text": "PackedInt32Array-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2008, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2009, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2010, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2011, "text": "BBInt64Array", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2012, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2013, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2014, "text": "PackedInt64Array-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2015, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2016, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2017, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2018, "text": "BBNode", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2019, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2020, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2021, "text": "Node-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2022, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2023, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2024, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2025, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2026, "text": "Node-type parameter intended for use with ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2027, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2028, "text": " tasks. See ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2029, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2030, "text": "If the source is a blackboard variable, it allows any type extended from ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2031, "text": "BBPlane", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2032, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2033, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2034, "text": "Plane-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2035, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2036, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2037, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2038, "text": "BBProjection", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2039, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2040, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2041, "text": "Projection-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2042, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2043, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2044, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2045, "text": "BBQuaternion", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2046, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2047, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2048, "text": "Quaternion-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2049, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2050, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2051, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2052, "text": "BBRect2", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2053, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2054, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2055, "text": "Rect2-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2056, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2057, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2058, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2059, "text": "BBRect2i", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2060, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2061, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2062, "text": "Rect2i-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2063, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2064, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2065, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2066, "text": "BBString", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2067, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2068, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2069, "text": "String-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2070, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2071, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2072, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2073, "text": "BBStringArray", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2074, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2075, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2076, "text": "StringArray-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2077, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2078, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2079, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2080, "text": "BBStringName", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2081, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2082, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2083, "text": "StringName-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2084, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2085, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2086, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2087, "text": "BBTransform2D", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2088, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2089, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2090, "text": "Transform2D-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2091, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2092, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2093, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2094, "text": "BBTransform3D", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2095, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2096, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2097, "text": "Transform3D-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2098, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2099, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2100, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2101, "text": "BBVariant", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2102, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2103, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2104, "text": "Variant-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2105, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2106, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2107, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2108, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2109, "text": "Variant-type parameter intended for use with ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2110, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2111, "text": " tasks. See ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2112, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2113, "text": "The data type is specified by ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2114, "text": "type", "parents": [ "span", "a", "p", "section" ] }, { "id": 2115, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2116, "text": "Variant.Type", "parents": [ "span", "p", "td", "tr" ] }, { "id": 2117, "text": "type", "parents": [ "span", "a", "p", "td" ] }, { "id": 2118, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2119, "text": "Variant.Type", "parents": [ "span", "p", "section", "section" ] }, { "id": 2120, "text": "type", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2121, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 2122, "text": "set_type", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2123, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 2124, "text": "Variant.Type", "parents": [ "span", "p", "li", "ul" ] }, { "id": 2125, "text": "Variant.Type", "parents": [ "span", "p", "li", "ul" ] }, { "id": 2126, "text": "get_type", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2127, "text": "Specified ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2128, "text": "Variant.Type", "parents": [ "span", "p", "section", "section" ] }, { "id": 2129, "text": " for the parameter value.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2130, "text": "BBVector2", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2131, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2132, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2133, "text": "Vector2-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2134, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2135, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2136, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2137, "text": "BBVector2Array", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2138, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2139, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2140, "text": "Vector2Array-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2141, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2142, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2143, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2144, "text": "BBVector2i", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2145, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2146, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2147, "text": "Vector2i-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2148, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2149, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2150, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2151, "text": "BBVector3", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2152, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2153, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2154, "text": "Vector3-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2155, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2156, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2157, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2158, "text": "BBVector3Array", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2159, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2160, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2161, "text": "Vector3Array-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2162, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2163, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2164, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2165, "text": "BBVector3i", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2166, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2167, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2168, "text": "Vector3i-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2169, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2170, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2171, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2172, "text": "BBVector4", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2173, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2174, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2175, "text": "Vector4-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2176, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2177, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2178, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2179, "text": "BBVector4i", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2180, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2181, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2182, "text": "Vector4i-type parameter for ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2183, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2184, "text": " tasks. See ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2185, "text": "BBParam", "parents": [ "span", "a", "p", "section" ] }, { "id": 2186, "text": "BehaviorTree", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2187, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2188, "text": "Contains Behavior Tree data.", "parents": [ "p", "section", "div", "section" ] }, { "id": 2189, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2190, "text": "Behavior Trees are hierarchical structures used to model and control the behavior of agents in a game (e.g., characters, enemies, entities). They are designed to make it easier to create complex and highly modular behaviors for your games.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2191, "text": "Behavior Trees are composed of tasks that represent specific actions or decision-making rules. Tasks can be broadly categorized into two main types: control tasks and leaf tasks. Control tasks determine the execution flow within the tree. They include ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2192, "text": "BTSequence", "parents": [ "span", "a", "p", "section" ] }, { "id": 2193, "text": "BTSelector", "parents": [ "span", "a", "p", "section" ] }, { "id": 2194, "text": ", and ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2195, "text": "BTInvert", "parents": [ "span", "a", "p", "section" ] }, { "id": 2196, "text": ". Leaf tasks represent specific actions to perform, like moving or attacking, or conditions that need to be checked. The ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2197, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 2198, "text": " class provides the foundation for various building blocks of the Behavior Trees. BT tasks can share data with the help of ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2199, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 2200, "text": ". See ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2201, "text": "BTTask.blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 2202, "text": " and ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2203, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 2204, "text": "Note:", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2205, "text": " To create your own actions, extend the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2206, "text": "BTAction", "parents": [ "span", "a", "p", "section" ] }, { "id": 2207, "text": " class.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2208, "text": "The BehaviorTree is executed from the root task and follows the rules specified by the control tasks, all the way down to the leaf tasks, which represent the actual actions that the agent should perform or conditions that should be checked. Each task returns a status when it is executed. It can be ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2209, "text": ", or ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2210, "text": ". These statuses determine how the tree progresses. They are defined in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2211, "text": "Status", "parents": [ "span", "a", "p", "section" ] }, { "id": 2212, "text": "Behavior Trees handle conditional logic using condition tasks. These tasks check for specific conditions and return either ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2213, "text": " or ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2214, "text": " based on the state of the agent or its environment (e.g., “IsLowOnHealth”, “IsTargetInSight”). Conditions can be used together with ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2215, "text": "BTSequence", "parents": [ "span", "a", "p", "section" ] }, { "id": 2216, "text": " and ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2217, "text": "BTSelector", "parents": [ "span", "a", "p", "section" ] }, { "id": 2218, "text": " to craft your decision-making logic.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2219, "text": "Note", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2220, "text": ": To create your own conditions, extend the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2221, "text": "BTCondition", "parents": [ "span", "a", "p", "section" ] }, { "id": 2222, "text": " class.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2223, "text": "Check out the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2224, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 2225, "text": " class, which provides the foundation for various building blocks of Behavior Trees.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2226, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2227, "text": "BlackboardPlan", "parents": [ "span", "a", "p", "td" ] }, { "id": 2228, "text": "blackboard_plan", "parents": [ "span", "a", "p", "td" ] }, { "id": 2229, "text": "description", "parents": [ "span", "a", "p", "td" ] }, { "id": 2230, "text": "Methods", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2231, "text": "BehaviorTree", "parents": [ "span", "a", "p", "td" ] }, { "id": 2232, "text": "clone", "parents": [ "span", "a", "p", "td" ] }, { "id": 2233, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 2234, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 2235, "text": "copy_other", "parents": [ "span", "a", "p", "td" ] }, { "id": 2236, "text": "(other: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 2237, "text": "BehaviorTree", "parents": [ "span", "a", "p", "td" ] }, { "id": 2238, "text": "BTTask", "parents": [ "span", "a", "p", "td" ] }, { "id": 2239, "text": "get_root_task", "parents": [ "span", "a", "p", "td" ] }, { "id": 2240, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 2241, "text": "BTInstance", "parents": [ "span", "a", "p", "td" ] }, { "id": 2242, "text": "instantiate", "parents": [ "span", "a", "p", "td" ] }, { "id": 2243, "text": "(agent: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 2244, "text": ", blackboard: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 2245, "text": "Blackboard", "parents": [ "span", "a", "p", "td" ] }, { "id": 2246, "text": ", instance_owner: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 2247, "text": ", custom_scene_root: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 2248, "text": " = null) ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 2249, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 2250, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 2251, "text": "set_root_task", "parents": [ "span", "a", "p", "td" ] }, { "id": 2252, "text": "(task: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 2253, "text": "BTTask", "parents": [ "span", "a", "p", "td" ] }, { "id": 2254, "text": "Signals", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2255, "text": "plan_changed", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2256, "text": "Emitted when the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2257, "text": "BlackboardPlan", "parents": [ "span", "a", "p", "section" ] }, { "id": 2258, "text": " changes.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2259, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2260, "text": "BlackboardPlan", "parents": [ "span", "a", "p", "section" ] }, { "id": 2261, "text": "blackboard_plan", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2262, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 2263, "text": "set_blackboard_plan", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2264, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 2265, "text": "BlackboardPlan", "parents": [ "span", "a", "p", "li" ] }, { "id": 2266, "text": "BlackboardPlan", "parents": [ "span", "a", "p", "li" ] }, { "id": 2267, "text": "get_blackboard_plan", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2268, "text": "Stores and manages variables that will be used in constructing new ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2269, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 2270, "text": " instances.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2271, "text": "description", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2272, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 2273, "text": "set_description", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2274, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 2275, "text": "get_description", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2276, "text": "User-provided description of the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2277, "text": "BehaviorTree", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2278, "text": "Method Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2279, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2280, "text": "clone", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2281, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 2282, "text": "Makes a copy of the BehaviorTree resource.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2283, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 2284, "text": "copy_other", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2285, "text": "(other: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2286, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2287, "text": "Become a copy of another behavior tree.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2288, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 2289, "text": "get_root_task", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2290, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 2291, "text": "Returns the root task of the BehaviorTree resource.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2292, "text": "BTInstance", "parents": [ "span", "a", "p", "section" ] }, { "id": 2293, "text": "instantiate", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2294, "text": "(agent: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2295, "text": ", blackboard: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2296, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 2297, "text": ", instance_owner: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2298, "text": ", custom_scene_root: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2299, "text": " = null) ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2300, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 2301, "text": "Instantiates the behavior tree and returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2302, "text": "BTInstance", "parents": [ "span", "a", "p", "section" ] }, { "id": 2303, "text": " should be the scene node that will own the behavior tree instance. This is typically a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2304, "text": "BTPlayer", "parents": [ "span", "a", "p", "section" ] }, { "id": 2305, "text": "BTState", "parents": [ "span", "a", "p", "section" ] }, { "id": 2306, "text": ", or a custom player node that controls the behavior tree execution. Make sure to pass a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2307, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 2308, "text": " with values populated from ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2309, "text": "blackboard_plan", "parents": [ "span", "a", "p", "section" ] }, { "id": 2310, "text": ". See also ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2311, "text": "BlackboardPlan.populate_blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 2312, "text": "BlackboardPlan.create_blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 2313, "text": "If ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2314, "text": " is not ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2315, "text": ", it will be used as the scene root for the newly instantiated behavior tree; otherwise, the scene root will be set to ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2316, "text": ". Scene root is essential for ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2317, "text": "BBNode", "parents": [ "span", "a", "p", "section" ] }, { "id": 2318, "text": " instances to work properly.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2319, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 2320, "text": "set_root_task", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2321, "text": "(task: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2322, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 2323, "text": "Assigns a new root task to the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2324, "text": "BehaviorTree", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2325, "text": " resource.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2326, "text": "BehaviorTreeData", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2327, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2328, "text": "Represents current state of a ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2329, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2330, "text": " instance.", "parents": [ "p", "section", "div", "section" ] }, { "id": 2331, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2332, "text": "This class is used by the LimboAI debugger for the serialization and deserialization of ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2333, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2334, "text": " instance data.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2335, "text": "Additionally, it can be used with ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2336, "text": "BehaviorTreeView", "parents": [ "span", "a", "p", "section" ] }, { "id": 2337, "text": " to visualize the current state of a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2338, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2339, "text": " instance. It is meant to be utilized in custom in-game tools.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2340, "text": "Methods", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2341, "text": "BehaviorTreeData", "parents": [ "span", "a", "p", "td" ] }, { "id": 2342, "text": "create_from_bt_instance", "parents": [ "span", "a", "p", "td" ] }, { "id": 2343, "text": "(bt_instance: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 2344, "text": "BTInstance", "parents": [ "span", "a", "p", "td" ] }, { "id": 2345, "text": "static", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 2346, "text": "Method Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2347, "text": "BehaviorTreeData", "parents": [ "span", "a", "p", "section" ] }, { "id": 2348, "text": "create_from_bt_instance", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2349, "text": "(bt_instance: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2350, "text": "BTInstance", "parents": [ "span", "a", "p", "section" ] }, { "id": 2351, "text": "static", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 2352, "text": "Returns current state of the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2353, "text": " encoded as a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2354, "text": "BehaviorTreeData", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2355, "text": ", suitable for use with ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2356, "text": "BehaviorTreeView", "parents": [ "span", "a", "p", "section" ] }, { "id": 2357, "text": "Behavior tree instance can be acquired with ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2358, "text": "BTPlayer.get_bt_instance", "parents": [ "span", "a", "p", "section" ] }, { "id": 2359, "text": "BehaviorTreeView", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2360, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2361, "text": "Visualizes the current state of a ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2362, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2363, "text": " instance.", "parents": [ "p", "section", "div", "section" ] }, { "id": 2364, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2365, "text": "Visualizes the current state of a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2366, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2367, "text": " instance. See also ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2368, "text": "BehaviorTreeData", "parents": [ "span", "a", "p", "section" ] }, { "id": 2369, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2370, "text": "update_interval_msec", "parents": [ "span", "a", "p", "td" ] }, { "id": 2371, "text": "Methods", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2372, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 2373, "text": "clear", "parents": [ "span", "a", "p", "td" ] }, { "id": 2374, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 2375, "text": "update_tree", "parents": [ "span", "a", "p", "td" ] }, { "id": 2376, "text": "(behavior_tree_data: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 2377, "text": "BehaviorTreeData", "parents": [ "span", "a", "p", "td" ] }, { "id": 2378, "text": "Signals", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2379, "text": "task_selected", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2380, "text": "(type_name: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2381, "text": ", script_path: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2382, "text": "Emitted when a task item is selected in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2383, "text": "BehaviorTreeView", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2384, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2385, "text": "update_interval_msec", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2386, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 2387, "text": "set_update_interval_msec", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2388, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 2389, "text": "get_update_interval_msec", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2390, "text": "Minimum delay between two updates (in milliseconds). Set to higher values for a lower CPU load.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2391, "text": "Method Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2392, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 2393, "text": "clear", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2394, "text": "Clears the tree view.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2395, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 2396, "text": "update_tree", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2397, "text": "(behavior_tree_data: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2398, "text": "BehaviorTreeData", "parents": [ "span", "a", "p", "section" ] }, { "id": 2399, "text": "Updates the representation of a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2400, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2401, "text": " instance. See also ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2402, "text": "BehaviorTreeData", "parents": [ "span", "a", "p", "section" ] }, { "id": 2403, "text": "BlackboardPlan", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2404, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2405, "text": "Stores and manages variables that will be used in constructing new ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2406, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 2407, "text": " instances.", "parents": [ "p", "section", "div", "section" ] }, { "id": 2408, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2409, "text": "prefetch_nodepath_vars", "parents": [ "span", "a", "p", "td" ] }, { "id": 2410, "text": "Methods", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2411, "text": "Blackboard", "parents": [ "span", "a", "p", "td" ] }, { "id": 2412, "text": "create_blackboard", "parents": [ "span", "a", "p", "td" ] }, { "id": 2413, "text": "(prefetch_root: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 2414, "text": ", parent_scope: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 2415, "text": "Blackboard", "parents": [ "span", "a", "p", "td" ] }, { "id": 2416, "text": " = null, prefetch_root_for_base_plan: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 2417, "text": " = null)", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 2418, "text": "BlackboardPlan", "parents": [ "span", "a", "p", "td" ] }, { "id": 2419, "text": "get_base_plan", "parents": [ "span", "a", "p", "td" ] }, { "id": 2420, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 2421, "text": "get_parent_scope_plan_provider", "parents": [ "span", "a", "p", "td" ] }, { "id": 2422, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 2423, "text": "is_derived", "parents": [ "span", "a", "p", "td" ] }, { "id": 2424, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 2425, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 2426, "text": "populate_blackboard", "parents": [ "span", "a", "p", "td" ] }, { "id": 2427, "text": "(blackboard: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 2428, "text": "Blackboard", "parents": [ "span", "a", "p", "td" ] }, { "id": 2429, "text": ", overwrite: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 2430, "text": ", prefetch_root: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 2431, "text": ", prefetch_root_for_base_plan: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 2432, "text": " = null)", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 2433, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 2434, "text": "set_base_plan", "parents": [ "span", "a", "p", "td" ] }, { "id": 2435, "text": "(blackboard_plan: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 2436, "text": "BlackboardPlan", "parents": [ "span", "a", "p", "td" ] }, { "id": 2437, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 2438, "text": "set_parent_scope_plan_provider", "parents": [ "span", "a", "p", "td" ] }, { "id": 2439, "text": "(callable: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 2440, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 2441, "text": "sync_with_base_plan", "parents": [ "span", "a", "p", "td" ] }, { "id": 2442, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2443, "text": "prefetch_nodepath_vars", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2444, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 2445, "text": "set_prefetch_nodepath_vars", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2446, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 2447, "text": "is_prefetching_nodepath_vars", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2448, "text": "Enables or disables ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2449, "text": " variable prefetching. If ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2450, "text": " values will be replaced with node instances when the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2451, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 2452, "text": " is created.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2453, "text": "Method Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2454, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 2455, "text": "create_blackboard", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2456, "text": "(prefetch_root: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2457, "text": ", parent_scope: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2458, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 2459, "text": " = null, prefetch_root_for_base_plan: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2460, "text": " = null) ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2461, "text": "Constructs a new instance of a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2462, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 2463, "text": " using this plan. If ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2464, "text": " prefetching is enabled, ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2465, "text": " will be used to retrieve node instances for ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2466, "text": " variables and substitute their values.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2467, "text": "BlackboardPlan", "parents": [ "span", "a", "p", "section" ] }, { "id": 2468, "text": "get_base_plan", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2469, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 2470, "text": "Returns the base plan. See ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2471, "text": "is_derived", "parents": [ "span", "a", "p", "section" ] }, { "id": 2472, "text": "get_parent_scope_plan_provider", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2473, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 2474, "text": "Returns the parent scope plan provider - a callable that returns a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2475, "text": "BlackboardPlan", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2476, "text": "is_derived", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2477, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 2478, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2479, "text": " if this plan is derived from another, i.e., the base plan is not ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2480, "text": ". A derived plan can only contain variables that are present in the base plan, and only variable values can be different.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2481, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 2482, "text": "populate_blackboard", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2483, "text": "(blackboard: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2484, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 2485, "text": ", overwrite: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2486, "text": ", prefetch_root: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2487, "text": ", prefetch_root_for_base_plan: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2488, "text": " = null) ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2489, "text": "Populates ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2490, "text": " with the variables from this plan. If ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2491, "text": " is ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2492, "text": ", existing variables with the same names will be overwritten. If ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2493, "text": " prefetching is enabled, ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2494, "text": " will be used to retrieve node instances for ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2495, "text": " variables and substitute their values.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2496, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 2497, "text": "set_base_plan", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2498, "text": "(blackboard_plan: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2499, "text": "BlackboardPlan", "parents": [ "span", "a", "p", "section" ] }, { "id": 2500, "text": "Sets the base plan. If assigned, this plan will be derived from the base plan.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2501, "text": "Use with caution, as it will remove variables not present in the base plan. Only use this for custom tooling.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2502, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 2503, "text": "set_parent_scope_plan_provider", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2504, "text": "(callable: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2505, "text": "Sets the parent scope plan provider - a callable that returns a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2506, "text": "BlackboardPlan", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2507, "text": ". Used to provide hints in the inspector. When set, mapping feature becomes available.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2508, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 2509, "text": "sync_with_base_plan", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2510, "text": "Synchronizes this plan with the base plan: removes variables not present in the base plan, and updates type information. Only use this for custom tooling.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2511, "text": "BT", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2512, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2513, "text": "Inherited By:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2514, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 2515, "text": "Base of ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2516, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 2517, "text": "Enumerations", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2518, "text": "enum ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2519, "text": "Status", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2520, "text": "Status", "parents": [ "span", "a", "p", "section" ] }, { "id": 2521, "text": "FRESH", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2522, "text": "Task wasn’t executed yet or it was aborted and reset.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2523, "text": "Status", "parents": [ "span", "a", "p", "section" ] }, { "id": 2524, "text": "RUNNING", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2525, "text": "Task is being performed and hasn’t finished yet.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2526, "text": "Status", "parents": [ "span", "a", "p", "section" ] }, { "id": 2527, "text": "FAILURE", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2528, "text": "Task has finished with failure.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2529, "text": "Status", "parents": [ "span", "a", "p", "section" ] }, { "id": 2530, "text": "SUCCESS", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2531, "text": "Task has finished with success.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2532, "text": "BTAction", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2533, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2534, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 2535, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 2536, "text": "Inherited By:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2537, "text": "BTAwaitAnimation", "parents": [ "span", "a", "p", "section" ] }, { "id": 2538, "text": "BTCallMethod", "parents": [ "span", "a", "p", "section" ] }, { "id": 2539, "text": "BTConsolePrint", "parents": [ "span", "a", "p", "section" ] }, { "id": 2540, "text": "BTEvaluateExpression", "parents": [ "span", "a", "p", "section" ] }, { "id": 2541, "text": "BTFail", "parents": [ "span", "a", "p", "section" ] }, { "id": 2542, "text": "BTPauseAnimation", "parents": [ "span", "a", "p", "section" ] }, { "id": 2543, "text": "BTPlayAnimation", "parents": [ "span", "a", "p", "section" ] }, { "id": 2544, "text": "BTRandomWait", "parents": [ "span", "a", "p", "section" ] }, { "id": 2545, "text": "BTSetAgentProperty", "parents": [ "span", "a", "p", "section" ] }, { "id": 2546, "text": "BTSetVar", "parents": [ "span", "a", "p", "section" ] }, { "id": 2547, "text": "BTStopAnimation", "parents": [ "span", "a", "p", "section" ] }, { "id": 2548, "text": "BTWait", "parents": [ "span", "a", "p", "section" ] }, { "id": 2549, "text": "BTWaitTicks", "parents": [ "span", "a", "p", "section" ] }, { "id": 2550, "text": "Base class for all ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2551, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2552, "text": " actions.", "parents": [ "p", "section", "div", "section" ] }, { "id": 2553, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2554, "text": "Base class for all actions within a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2555, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2556, "text": ". You can create your own actions by extending the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2557, "text": "BTAction", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2558, "text": " class.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2559, "text": "Represents a specific behavior or action in a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2560, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2561, "text": " that an agent should execute. Actions are the lowest level of the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2562, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2563, "text": " hierarchy and are responsible for performing the actual work required to achieve a goal. Actions do not have child tasks.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2564, "text": "A single action can perform a task within one or multiple ticks. If it takes more than one tick to complete the task, the action should return ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2565, "text": " status. When the task is finished, the action returns either ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2566, "text": " or ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2567, "text": " to indicate the outcome.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2568, "text": "BTAlwaysFail", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2569, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2570, "text": "BTDecorator", "parents": [ "span", "a", "p", "section" ] }, { "id": 2571, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 2572, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 2573, "text": "BT decorator that converts ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2574, "text": " into ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2575, "text": "BTAlwaysSucceed", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2576, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2577, "text": "BTDecorator", "parents": [ "span", "a", "p", "section" ] }, { "id": 2578, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 2579, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 2580, "text": "BT decorator that converts ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2581, "text": " into ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2582, "text": "BTAwaitAnimation", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2583, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2584, "text": "BTAction", "parents": [ "span", "a", "p", "section" ] }, { "id": 2585, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 2586, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 2587, "text": "BT action that waits for an animation to finish playing.", "parents": [ "p", "section", "div", "section" ] }, { "id": 2588, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2589, "text": "BTAwaitAnimation action waits for an animation on the specified ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2590, "text": " node to finish playing and returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2591, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2592, "text": " if the specified animation has finished playing or if the specified animation is not currently playing.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2593, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2594, "text": " if the specified animation doesn’t exist or if the action fails to get the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2595, "text": " node.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2596, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2597, "text": "animation_name", "parents": [ "span", "a", "p", "td" ] }, { "id": 2598, "text": "BBNode", "parents": [ "span", "a", "p", "td" ] }, { "id": 2599, "text": "animation_player", "parents": [ "span", "a", "p", "td" ] }, { "id": 2600, "text": "max_time", "parents": [ "span", "a", "p", "td" ] }, { "id": 2601, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2602, "text": "animation_name", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2603, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 2604, "text": "set_animation_name", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2605, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 2606, "text": "get_animation_name", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2607, "text": "Animation’s key within the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2608, "text": " node.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2609, "text": "BBNode", "parents": [ "span", "a", "p", "section" ] }, { "id": 2610, "text": "animation_player", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2611, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 2612, "text": "set_animation_player", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2613, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 2614, "text": "BBNode", "parents": [ "span", "a", "p", "li" ] }, { "id": 2615, "text": "BBNode", "parents": [ "span", "a", "p", "li" ] }, { "id": 2616, "text": "get_animation_player", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2617, "text": "Parameter that specifies the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2618, "text": " node.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2619, "text": "max_time", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2620, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 2621, "text": "set_max_time", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2622, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 2623, "text": "get_max_time", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2624, "text": "The maximum duration to wait for the animation to complete (in seconds). If the animation doesn’t finish within this time, BTAwaitAnimation will stop waiting and return ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2625, "text": "BTCallMethod", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2626, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2627, "text": "BTAction", "parents": [ "span", "a", "p", "section" ] }, { "id": 2628, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 2629, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 2630, "text": "BT action that calls a method on a specified ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2631, "text": " or ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2632, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2633, "text": "BTCallMethod action calls a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2634, "text": "method", "parents": [ "span", "a", "p", "section" ] }, { "id": 2635, "text": " on the specified ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2636, "text": " or ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2637, "text": " instance and returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2638, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2639, "text": " if the action encounters an issue during the method execution.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2640, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2641, "text": "Array", "parents": [ "span", "p", "td", "tr" ] }, { "id": 2642, "text": "BBVariant", "parents": [ "span", "a", "p", "td" ] }, { "id": 2643, "text": "args", "parents": [ "span", "a", "p", "td" ] }, { "id": 2644, "text": "args_include_delta", "parents": [ "span", "a", "p", "td" ] }, { "id": 2645, "text": "method", "parents": [ "span", "a", "p", "td" ] }, { "id": 2646, "text": "BBNode", "parents": [ "span", "a", "p", "td" ] }, { "id": 2647, "text": "node", "parents": [ "span", "a", "p", "td" ] }, { "id": 2648, "text": "result_var", "parents": [ "span", "a", "p", "td" ] }, { "id": 2649, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2650, "text": "Array", "parents": [ "span", "p", "section", "section" ] }, { "id": 2651, "text": "BBVariant", "parents": [ "span", "a", "p", "section" ] }, { "id": 2652, "text": "args", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2653, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 2654, "text": "set_args", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2655, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 2656, "text": "Array", "parents": [ "span", "p", "li", "ul" ] }, { "id": 2657, "text": "BBVariant", "parents": [ "span", "a", "p", "li" ] }, { "id": 2658, "text": "Array", "parents": [ "span", "p", "li", "ul" ] }, { "id": 2659, "text": "BBVariant", "parents": [ "span", "a", "p", "li" ] }, { "id": 2660, "text": "get_args", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2661, "text": "The arguments to be passed when calling the method.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2662, "text": "args_include_delta", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2663, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 2664, "text": "set_include_delta", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2665, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 2666, "text": "is_delta_included", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2667, "text": "Include delta as a first parameter and shift the position of the rest of the arguments if any.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2668, "text": "method", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2669, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 2670, "text": "set_method", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2671, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 2672, "text": "get_method", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2673, "text": "The name of the method to be called.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2674, "text": "BBNode", "parents": [ "span", "a", "p", "section" ] }, { "id": 2675, "text": "node", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2676, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 2677, "text": "set_node_param", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2678, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 2679, "text": "BBNode", "parents": [ "span", "a", "p", "li" ] }, { "id": 2680, "text": "BBNode", "parents": [ "span", "a", "p", "li" ] }, { "id": 2681, "text": "get_node_param", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2682, "text": "Specifies the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2683, "text": " or ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2684, "text": " instance containing the method to be called.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2685, "text": "result_var", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2686, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 2687, "text": "set_result_var", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2688, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 2689, "text": "get_result_var", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2690, "text": "if non-empty, assign the result of the method call to the blackboard variable specified by this property.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2691, "text": "BTCheckAgentProperty", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2692, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2693, "text": "BTCondition", "parents": [ "span", "a", "p", "section" ] }, { "id": 2694, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 2695, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 2696, "text": "BT condition that checks agent’s property value.", "parents": [ "p", "section", "div", "section" ] }, { "id": 2697, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2698, "text": "BTCheckAgentProperty examines the agent’s property value and compares it to ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2699, "text": "value", "parents": [ "span", "a", "p", "section" ] }, { "id": 2700, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2701, "text": " or ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2702, "text": " based on the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2703, "text": "check_type", "parents": [ "span", "a", "p", "section" ] }, { "id": 2704, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2705, "text": "CheckType", "parents": [ "span", "a", "p", "td" ] }, { "id": 2706, "text": "check_type", "parents": [ "span", "a", "p", "td" ] }, { "id": 2707, "text": "property", "parents": [ "span", "a", "p", "td" ] }, { "id": 2708, "text": "BBVariant", "parents": [ "span", "a", "p", "td" ] }, { "id": 2709, "text": "value", "parents": [ "span", "a", "p", "td" ] }, { "id": 2710, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2711, "text": "CheckType", "parents": [ "span", "a", "p", "section" ] }, { "id": 2712, "text": "check_type", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2713, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 2714, "text": "set_check_type", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2715, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 2716, "text": "CheckType", "parents": [ "span", "a", "p", "li" ] }, { "id": 2717, "text": "CheckType", "parents": [ "span", "a", "p", "li" ] }, { "id": 2718, "text": "get_check_type", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2719, "text": "The type of check to be performed.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2720, "text": "property", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2721, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 2722, "text": "set_property", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2723, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 2724, "text": "get_property", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2725, "text": "Parameter that specifies the agent’s property to be compared.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2726, "text": "BBVariant", "parents": [ "span", "a", "p", "section" ] }, { "id": 2727, "text": "value", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2728, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 2729, "text": "set_value", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2730, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 2731, "text": "BBVariant", "parents": [ "span", "a", "p", "li" ] }, { "id": 2732, "text": "BBVariant", "parents": [ "span", "a", "p", "li" ] }, { "id": 2733, "text": "get_value", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2734, "text": "Parameter that specifies the value against which an agent’s property will be compared.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2735, "text": "BTCheckTrigger", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2736, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2737, "text": "BTCondition", "parents": [ "span", "a", "p", "section" ] }, { "id": 2738, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 2739, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 2740, "text": "BT condition that checks a trigger (a boolean variable).", "parents": [ "p", "section", "div", "section" ] }, { "id": 2741, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2742, "text": "BTCheckTrigger", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2743, "text": " verifies whether the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2744, "text": "variable", "parents": [ "span", "a", "p", "section" ] }, { "id": 2745, "text": " is set to ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2746, "text": ". If it is, the task switches it to ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2747, "text": " and returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2748, "text": ". Otherwise, it returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2749, "text": "BTCheckTrigger", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2750, "text": " can function as a “gate” within a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2751, "text": "BTSequence", "parents": [ "span", "a", "p", "section" ] }, { "id": 2752, "text": ": when the trigger variable is set to ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2753, "text": ", it permits the execution of subsequent tasks and then changes the variable to ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2754, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2755, "text": "variable", "parents": [ "span", "a", "p", "td" ] }, { "id": 2756, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2757, "text": "variable", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2758, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 2759, "text": "set_variable", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2760, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 2761, "text": "get_variable", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2762, "text": "A boolean variable on the blackboard used as a trigger. See also ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2763, "text": "BTTask.blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 2764, "text": "If variable’s value is ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2765, "text": "BTCheckTrigger", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2766, "text": " will switch it to ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2767, "text": " and return ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2768, "text": "If variable’s value is ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2769, "text": "BTCheckTrigger", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2770, "text": " will return ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2771, "text": "BTCheckVar", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2772, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2773, "text": "BTCondition", "parents": [ "span", "a", "p", "section" ] }, { "id": 2774, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 2775, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 2776, "text": "BT condition that checks a variable on the blackboard.", "parents": [ "p", "section", "div", "section" ] }, { "id": 2777, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2778, "text": "BTCheckVar evaluates the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2779, "text": "variable", "parents": [ "span", "a", "p", "section" ] }, { "id": 2780, "text": " against ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2781, "text": "value", "parents": [ "span", "a", "p", "section" ] }, { "id": 2782, "text": " and returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2783, "text": " or ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2784, "text": " based on the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2785, "text": "check_type", "parents": [ "span", "a", "p", "section" ] }, { "id": 2786, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2787, "text": "CheckType", "parents": [ "span", "a", "p", "td" ] }, { "id": 2788, "text": "check_type", "parents": [ "span", "a", "p", "td" ] }, { "id": 2789, "text": "BBVariant", "parents": [ "span", "a", "p", "td" ] }, { "id": 2790, "text": "value", "parents": [ "span", "a", "p", "td" ] }, { "id": 2791, "text": "variable", "parents": [ "span", "a", "p", "td" ] }, { "id": 2792, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2793, "text": "CheckType", "parents": [ "span", "a", "p", "section" ] }, { "id": 2794, "text": "check_type", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2795, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 2796, "text": "set_check_type", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2797, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 2798, "text": "CheckType", "parents": [ "span", "a", "p", "li" ] }, { "id": 2799, "text": "CheckType", "parents": [ "span", "a", "p", "li" ] }, { "id": 2800, "text": "get_check_type", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2801, "text": "The type of check to be performed.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2802, "text": "BBVariant", "parents": [ "span", "a", "p", "section" ] }, { "id": 2803, "text": "value", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2804, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 2805, "text": "set_value", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2806, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 2807, "text": "BBVariant", "parents": [ "span", "a", "p", "li" ] }, { "id": 2808, "text": "BBVariant", "parents": [ "span", "a", "p", "li" ] }, { "id": 2809, "text": "get_value", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2810, "text": "A parameter that specifies the value against which the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2811, "text": "variable", "parents": [ "span", "a", "p", "section" ] }, { "id": 2812, "text": " will be compared.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2813, "text": "variable", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2814, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 2815, "text": "set_variable", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2816, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 2817, "text": "get_variable", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2818, "text": "The name of the variable to check its value.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2819, "text": "BTComment", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2820, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2821, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 2822, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 2823, "text": "BTComment adds annotations or explanatory notes to a ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2824, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2825, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2826, "text": "BTComment is used to add annotations or explanatory notes to a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2827, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2828, "text": "Comments are not executed as part of the tree and are removed from runtime instances of the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2829, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2830, "text": "BTComposite", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2831, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2832, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 2833, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 2834, "text": "Inherited By:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2835, "text": "BTDynamicSelector", "parents": [ "span", "a", "p", "section" ] }, { "id": 2836, "text": "BTDynamicSequence", "parents": [ "span", "a", "p", "section" ] }, { "id": 2837, "text": "BTParallel", "parents": [ "span", "a", "p", "section" ] }, { "id": 2838, "text": "BTProbabilitySelector", "parents": [ "span", "a", "p", "section" ] }, { "id": 2839, "text": "BTRandomSelector", "parents": [ "span", "a", "p", "section" ] }, { "id": 2840, "text": "BTRandomSequence", "parents": [ "span", "a", "p", "section" ] }, { "id": 2841, "text": "BTSelector", "parents": [ "span", "a", "p", "section" ] }, { "id": 2842, "text": "BTSequence", "parents": [ "span", "a", "p", "section" ] }, { "id": 2843, "text": "Base class for BT composite tasks.", "parents": [ "p", "section", "div", "section" ] }, { "id": 2844, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2845, "text": "Base class for all ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2846, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2847, "text": " composite tasks. You can create your own composite tasks by extending the BTComposite class.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2848, "text": "Composite is a control task within a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2849, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2850, "text": " that contains one or more child tasks. It defines the structure and flow of the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2851, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2852, "text": " by specifying how child tasks are executed. Composites can be used to group related tasks into a single unit, making it easier to manage and maintain the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2853, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2854, "text": ". Examples of ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2855, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2856, "text": " composites include ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2857, "text": "BTSelector", "parents": [ "span", "a", "p", "section" ] }, { "id": 2858, "text": "BTSequence", "parents": [ "span", "a", "p", "section" ] }, { "id": 2859, "text": ", and ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2860, "text": "BTParallel", "parents": [ "span", "a", "p", "section" ] }, { "id": 2861, "text": "BTCondition", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2862, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2863, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 2864, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 2865, "text": "Inherited By:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2866, "text": "BTCheckAgentProperty", "parents": [ "span", "a", "p", "section" ] }, { "id": 2867, "text": "BTCheckTrigger", "parents": [ "span", "a", "p", "section" ] }, { "id": 2868, "text": "BTCheckVar", "parents": [ "span", "a", "p", "section" ] }, { "id": 2869, "text": "Base class for BT conditions.", "parents": [ "p", "section", "div", "section" ] }, { "id": 2870, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2871, "text": "Base class for all ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2872, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2873, "text": " conditions. You can create your own conditions by extending the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2874, "text": "BTCondition", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2875, "text": " class.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2876, "text": "Condition is a task within a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2877, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2878, "text": " that checks for a specific condition before executing subsequent tasks. It is often used inside composite tasks to control the execution flow. Conditions are used to verify the state of the environment, check for the presence of an enemy, or evaluate the health status of the agent. The use of condition tasks in a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2879, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2880, "text": " can improve system efficiency and prevent unnecessary actions. However, they may not be suitable for complex decision-making processes, and too many condition tasks can make the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2881, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2882, "text": " difficult to read.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2883, "text": "Conditions typically don’t take multiple ticks to finish and return either ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2884, "text": " or ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2885, "text": " immediately.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2886, "text": "BTConsolePrint", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2887, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2888, "text": "BTAction", "parents": [ "span", "a", "p", "section" ] }, { "id": 2889, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 2890, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 2891, "text": "BT action task that outputs text to the console.", "parents": [ "p", "section", "div", "section" ] }, { "id": 2892, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2893, "text": "BTConsolePrint action outputs text to the console and returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2894, "text": ". It can include placeholders for format arguments similar to GDScript’s % operator.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2895, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2896, "text": "bb_format_parameters", "parents": [ "span", "a", "p", "td" ] }, { "id": 2897, "text": "text", "parents": [ "span", "a", "p", "td" ] }, { "id": 2898, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2899, "text": "bb_format_parameters", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2900, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 2901, "text": "set_bb_format_parameters", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2902, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 2903, "text": "get_bb_format_parameters", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2904, "text": "The values of format parameters are used as format arguments for the text that will be printed.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2905, "text": "Note:", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2906, "text": " The returned array is ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2907, "text": "copied", "parents": [ "em", "p", "section", "section" ] }, { "id": 2908, "text": " and any changes to it will not update the original property value. See ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2909, "text": " for more details.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2910, "text": "text", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2911, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 2912, "text": "set_text", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2913, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 2914, "text": "get_text", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2915, "text": "The text to be printed, which can include multiple placeholders to be substituted with format arguments. These placeholders follow the same format as GDScript’s % operator and typically start with ‘%’ followed by a format specifier. For instance: %s for string, %d for integer, %f for real.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2916, "text": "BTCooldown", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2917, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2918, "text": "BTDecorator", "parents": [ "span", "a", "p", "section" ] }, { "id": 2919, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 2920, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 2921, "text": "BT decorator that executes its child task only if ", "parents": [ "p", "section", "div", "section" ] }, { "id": 2922, "text": "duration", "parents": [ "span", "a", "p", "section" ] }, { "id": 2923, "text": " time has passed since the previous execution.", "parents": [ "p", "section", "div", "section" ] }, { "id": 2924, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2925, "text": "BTCooldown runs its child task only if ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2926, "text": "duration", "parents": [ "span", "a", "p", "section" ] }, { "id": 2927, "text": " time has passed since the last successful child task execution. It will only consider successful executions unless ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2928, "text": "trigger_on_failure", "parents": [ "span", "a", "p", "section" ] }, { "id": 2929, "text": " is set to ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2930, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2931, "text": ", if the child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2932, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2933, "text": ", if the child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2934, "text": ", and triggers the cooldown timer.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2935, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2936, "text": ", if the child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2937, "text": " or if ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2938, "text": "duration", "parents": [ "span", "a", "p", "section" ] }, { "id": 2939, "text": " time didn’t pass since the previous execution.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2940, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2941, "text": "cooldown_state_var", "parents": [ "span", "a", "p", "td" ] }, { "id": 2942, "text": "duration", "parents": [ "span", "a", "p", "td" ] }, { "id": 2943, "text": "process_pause", "parents": [ "span", "a", "p", "td" ] }, { "id": 2944, "text": "start_cooled", "parents": [ "span", "a", "p", "td" ] }, { "id": 2945, "text": "trigger_on_failure", "parents": [ "span", "a", "p", "td" ] }, { "id": 2946, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 2947, "text": "cooldown_state_var", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2948, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 2949, "text": "set_cooldown_state_var", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2950, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 2951, "text": "get_cooldown_state_var", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2952, "text": "A boolean variable used to store the cooldown state in the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2953, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 2954, "text": ". If left empty, the variable will be automatically generated and assigned.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2955, "text": "If the variable’s value is set to ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2956, "text": ", it indicates that the cooldown is activated. This feature is useful for checking the cooldown state from other parts of the tree or sharing it among different sections of the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2957, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 2958, "text": "duration", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2959, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 2960, "text": "set_duration", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2961, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 2962, "text": "get_duration", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2963, "text": "Time to wait before permitting another child’s execution.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2964, "text": "process_pause", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2965, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 2966, "text": "set_process_pause", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2967, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 2968, "text": "get_process_pause", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2969, "text": "If ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2970, "text": ", process cooldown when the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2971, "text": " is paused.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2972, "text": "start_cooled", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2973, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 2974, "text": "set_start_cooled", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2975, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 2976, "text": "get_start_cooled", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2977, "text": "If ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2978, "text": ", initiate a cooldown as if the child had been executed before the first BT tick.", "parents": [ "p", "section", "section", "div" ] }, { "id": 2979, "text": "trigger_on_failure", "parents": [ "strong", "p", "section", "section" ] }, { "id": 2980, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 2981, "text": "set_trigger_on_failure", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2982, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 2983, "text": "get_trigger_on_failure", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 2984, "text": "If ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2985, "text": ", the cooldown will be activated if the child task also returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2986, "text": ". Otherwise, the cooldown will only be triggered when the child task returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 2987, "text": "BTDecorator", "parents": [ "h2", "section", "div", "section" ] }, { "id": 2988, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2989, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 2990, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 2991, "text": "Inherited By:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 2992, "text": "BTAlwaysFail", "parents": [ "span", "a", "p", "section" ] }, { "id": 2993, "text": "BTAlwaysSucceed", "parents": [ "span", "a", "p", "section" ] }, { "id": 2994, "text": "BTCooldown", "parents": [ "span", "a", "p", "section" ] }, { "id": 2995, "text": "BTDelay", "parents": [ "span", "a", "p", "section" ] }, { "id": 2996, "text": "BTForEach", "parents": [ "span", "a", "p", "section" ] }, { "id": 2997, "text": "BTInvert", "parents": [ "span", "a", "p", "section" ] }, { "id": 2998, "text": "BTNewScope", "parents": [ "span", "a", "p", "section" ] }, { "id": 2999, "text": "BTProbability", "parents": [ "span", "a", "p", "section" ] }, { "id": 3000, "text": "BTRepeat", "parents": [ "span", "a", "p", "section" ] }, { "id": 3001, "text": "BTRepeatUntilFailure", "parents": [ "span", "a", "p", "section" ] }, { "id": 3002, "text": "BTRepeatUntilSuccess", "parents": [ "span", "a", "p", "section" ] }, { "id": 3003, "text": "BTRunLimit", "parents": [ "span", "a", "p", "section" ] }, { "id": 3004, "text": "BTTimeLimit", "parents": [ "span", "a", "p", "section" ] }, { "id": 3005, "text": "Base class for BT decorators.", "parents": [ "p", "section", "div", "section" ] }, { "id": 3006, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3007, "text": "Base class for all ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3008, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 3009, "text": " decorators. You can create your own decorators by extending the BTDecorator class.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3010, "text": "A decorator is a task within a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3011, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 3012, "text": " that alters the behavior of its child task. Decorators can have only one child task.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3013, "text": "Decorators can be used to add conditions, limits, or other constraints to the execution of a task. Examples of ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3014, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 3015, "text": " decorators include ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3016, "text": "BTInvert", "parents": [ "span", "a", "p", "section" ] }, { "id": 3017, "text": "BTRepeat", "parents": [ "span", "a", "p", "section" ] }, { "id": 3018, "text": ", and ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3019, "text": "BTCooldown", "parents": [ "span", "a", "p", "section" ] }, { "id": 3020, "text": ". The use of ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3021, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 3022, "text": " decorators can simplify the design and implementation of complex behaviors by adding additional logic to existing tasks.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3023, "text": "BTDelay", "parents": [ "h2", "section", "div", "section" ] }, { "id": 3024, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 3025, "text": "BTDecorator", "parents": [ "span", "a", "p", "section" ] }, { "id": 3026, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 3027, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 3028, "text": "BT decorator that introduces a delay before executing its child task.", "parents": [ "p", "section", "div", "section" ] }, { "id": 3029, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3030, "text": "BTDelay introduces a delay of ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3031, "text": "seconds", "parents": [ "span", "a", "p", "section" ] }, { "id": 3032, "text": " before executing its child task. Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3033, "text": " during the delay period.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3034, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3035, "text": "seconds", "parents": [ "span", "a", "p", "td" ] }, { "id": 3036, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3037, "text": "seconds", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3038, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3039, "text": "set_seconds", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3040, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3041, "text": "get_seconds", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3042, "text": "Delay duration in seconds.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3043, "text": "BTDynamicSelector", "parents": [ "h2", "section", "div", "section" ] }, { "id": 3044, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 3045, "text": "BTComposite", "parents": [ "span", "a", "p", "section" ] }, { "id": 3046, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 3047, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 3048, "text": "BT composite that executes tasks from scratch every tick until first ", "parents": [ "p", "section", "div", "section" ] }, { "id": 3049, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3050, "text": "BTDynamicSelector executes its child tasks sequentially, from first to last, until any child returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3051, "text": ". Unlike ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3052, "text": "BTSelector", "parents": [ "span", "a", "p", "section" ] }, { "id": 3053, "text": ", it will execute tasks from the beginning every tick, reevaluating their statuses. It is quite useful when you want to retry higher-priority behaviors in every tick.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3054, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3055, "text": " if a child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3056, "text": ". BTDynamicSelector will remember the last ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3057, "text": " child, but, unlike ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3058, "text": "BTSequence", "parents": [ "span", "a", "p", "section" ] }, { "id": 3059, "text": ", on the next execution tick, it will reexecute preceding tasks and reevaluate their return statuses. If any of the preceding tasks doesn’t result in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3060, "text": ", it will abort the remembered ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3061, "text": " task.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3062, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3063, "text": " if all child tasks result in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3064, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3065, "text": " if a child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3066, "text": "BTDynamicSequence", "parents": [ "h2", "section", "div", "section" ] }, { "id": 3067, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 3068, "text": "BTComposite", "parents": [ "span", "a", "p", "section" ] }, { "id": 3069, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 3070, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 3071, "text": "BT composite that executes tasks from scratch every tick as long as they return ", "parents": [ "p", "section", "div", "section" ] }, { "id": 3072, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3073, "text": "BTDynamicSequence executes its child tasks sequentially, from first to last, for as long as they return ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3074, "text": ". Unlike ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3075, "text": "BTSequence", "parents": [ "span", "a", "p", "section" ] }, { "id": 3076, "text": ", it will execute tasks from the beginning every tick, reevaluating their statuses. It is quite useful when you want to recheck conditions preceding a long-running action during each tick and abort the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3077, "text": " action when any condition results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3078, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3079, "text": " if a child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3080, "text": ". BTDynamicSequence will remember the last ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3081, "text": " child, but, unlike ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3082, "text": "BTSequence", "parents": [ "span", "a", "p", "section" ] }, { "id": 3083, "text": ", on the next execution tick, it will reexecute preceding tasks and reevaluate their return statuses. If any of the preceding tasks doesn’t result in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3084, "text": ", it will abort the remembered ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3085, "text": " task.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3086, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3087, "text": " if a child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3088, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3089, "text": " if all child tasks result in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3090, "text": "BTEvaluateExpression", "parents": [ "h2", "section", "div", "section" ] }, { "id": 3091, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 3092, "text": "BTAction", "parents": [ "span", "a", "p", "section" ] }, { "id": 3093, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 3094, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 3095, "text": "BT action that evaluates an ", "parents": [ "p", "section", "div", "section" ] }, { "id": 3096, "text": " against a specified ", "parents": [ "p", "section", "div", "section" ] }, { "id": 3097, "text": " or ", "parents": [ "p", "section", "div", "section" ] }, { "id": 3098, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3099, "text": "BTEvaluateExpression action evaluates an ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3100, "text": "expression_string", "parents": [ "span", "a", "p", "section" ] }, { "id": 3101, "text": " on the specified ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3102, "text": " or ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3103, "text": " instance and returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3104, "text": " when the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3105, "text": " executes successfully.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3106, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3107, "text": " if the action encounters an issue during the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3108, "text": " parsing or execution.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3109, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3110, "text": "expression_string", "parents": [ "span", "a", "p", "td" ] }, { "id": 3111, "text": "input_include_delta", "parents": [ "span", "a", "p", "td" ] }, { "id": 3112, "text": "input_names", "parents": [ "span", "a", "p", "td" ] }, { "id": 3113, "text": "Array", "parents": [ "span", "p", "td", "tr" ] }, { "id": 3114, "text": "BBVariant", "parents": [ "span", "a", "p", "td" ] }, { "id": 3115, "text": "input_values", "parents": [ "span", "a", "p", "td" ] }, { "id": 3116, "text": "BBNode", "parents": [ "span", "a", "p", "td" ] }, { "id": 3117, "text": "node", "parents": [ "span", "a", "p", "td" ] }, { "id": 3118, "text": "result_var", "parents": [ "span", "a", "p", "td" ] }, { "id": 3119, "text": "Methods", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3120, "text": "Error", "parents": [ "span", "p", "td", "tr" ] }, { "id": 3121, "text": "parse", "parents": [ "span", "a", "p", "td" ] }, { "id": 3122, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3123, "text": "expression_string", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3124, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3125, "text": "set_expression_string", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3126, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3127, "text": "get_expression_string", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3128, "text": "The expression string to be parsed and executed.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3129, "text": "Warning:", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3130, "text": " Call ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3131, "text": "parse", "parents": [ "span", "a", "p", "section" ] }, { "id": 3132, "text": " after updating ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3133, "text": "expression_string", "parents": [ "span", "a", "p", "section" ] }, { "id": 3134, "text": " to update the internal ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3135, "text": " as it won’t be updated automatically.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3136, "text": "input_include_delta", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3137, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3138, "text": "set_input_include_delta", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3139, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3140, "text": "is_input_delta_included", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3141, "text": "If enabled, the input variable ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3142, "text": " will be added to ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3143, "text": "input_names", "parents": [ "span", "a", "p", "section" ] }, { "id": 3144, "text": " and ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3145, "text": "input_values", "parents": [ "span", "a", "p", "section" ] }, { "id": 3146, "text": "Warning:", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3147, "text": " Call ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3148, "text": "parse", "parents": [ "span", "a", "p", "section" ] }, { "id": 3149, "text": " after toggling ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3150, "text": "input_include_delta", "parents": [ "span", "a", "p", "section" ] }, { "id": 3151, "text": " to update the internal ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3152, "text": " as it won’t be updated automatically.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3153, "text": "input_names", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3154, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3155, "text": "set_input_names", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3156, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3157, "text": "get_input_names", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3158, "text": "List of variable names within ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3159, "text": "expression_string", "parents": [ "span", "a", "p", "section" ] }, { "id": 3160, "text": " for which the user will provide values for through ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3161, "text": "input_values", "parents": [ "span", "a", "p", "section" ] }, { "id": 3162, "text": "Warning:", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3163, "text": " Call ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3164, "text": "parse", "parents": [ "span", "a", "p", "section" ] }, { "id": 3165, "text": " after updating ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3166, "text": "input_names", "parents": [ "span", "a", "p", "section" ] }, { "id": 3167, "text": " to update the internal ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3168, "text": " as it won’t be updated automatically.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3169, "text": "Note:", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3170, "text": " The returned array is ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3171, "text": "copied", "parents": [ "em", "p", "section", "section" ] }, { "id": 3172, "text": " and any changes to it will not update the original property value. See ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3173, "text": " for more details.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3174, "text": "Array", "parents": [ "span", "p", "section", "section" ] }, { "id": 3175, "text": "BBVariant", "parents": [ "span", "a", "p", "section" ] }, { "id": 3176, "text": "input_values", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3177, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3178, "text": "set_input_values", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3179, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3180, "text": "Array", "parents": [ "span", "p", "li", "ul" ] }, { "id": 3181, "text": "BBVariant", "parents": [ "span", "a", "p", "li" ] }, { "id": 3182, "text": "Array", "parents": [ "span", "p", "li", "ul" ] }, { "id": 3183, "text": "BBVariant", "parents": [ "span", "a", "p", "li" ] }, { "id": 3184, "text": "get_input_values", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3185, "text": "List of values for variables specified in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3186, "text": "input_names", "parents": [ "span", "a", "p", "section" ] }, { "id": 3187, "text": ". The values are mapped to the variables by their array index.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3188, "text": "BBNode", "parents": [ "span", "a", "p", "section" ] }, { "id": 3189, "text": "node", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3190, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3191, "text": "set_node_param", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3192, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3193, "text": "BBNode", "parents": [ "span", "a", "p", "li" ] }, { "id": 3194, "text": "BBNode", "parents": [ "span", "a", "p", "li" ] }, { "id": 3195, "text": "get_node_param", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3196, "text": "Specifies the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3197, "text": " or ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3198, "text": " instance containing the method to be called.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3199, "text": "result_var", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3200, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3201, "text": "set_result_var", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3202, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3203, "text": "get_result_var", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3204, "text": "if non-empty, assign the result of the method call to the blackboard variable specified by this property.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3205, "text": "Method Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3206, "text": "Error", "parents": [ "span", "p", "section", "section" ] }, { "id": 3207, "text": "parse", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3208, "text": "Calls ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3209, "text": "Expression.parse", "parents": [ "span", "p", "section", "section" ] }, { "id": 3210, "text": " considering ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3211, "text": "input_include_delta", "parents": [ "span", "a", "p", "section" ] }, { "id": 3212, "text": " and ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3213, "text": "input_names", "parents": [ "span", "a", "p", "section" ] }, { "id": 3214, "text": " and returns its error code.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3215, "text": "BTFail", "parents": [ "h2", "section", "div", "section" ] }, { "id": 3216, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 3217, "text": "BTAction", "parents": [ "span", "a", "p", "section" ] }, { "id": 3218, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 3219, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 3220, "text": "BT action that always returns ", "parents": [ "p", "section", "div", "section" ] }, { "id": 3221, "text": "BTForEach", "parents": [ "h2", "section", "div", "section" ] }, { "id": 3222, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 3223, "text": "BTDecorator", "parents": [ "span", "a", "p", "section" ] }, { "id": 3224, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 3225, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 3226, "text": "BT decorator that executes its child task for each element of an ", "parents": [ "p", "section", "div", "section" ] }, { "id": 3227, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3228, "text": "BTForEach executes its child task for each element of an ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3229, "text": ". During each iteration, the next element is stored in the specified ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3230, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 3231, "text": " variable.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3232, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3233, "text": " if the child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3234, "text": " or if the child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3235, "text": " on a non-last iteration.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3236, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3237, "text": " if the child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3238, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3239, "text": " if the child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3240, "text": " on the last iteration.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3241, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3242, "text": "array_var", "parents": [ "span", "a", "p", "td" ] }, { "id": 3243, "text": "save_var", "parents": [ "span", "a", "p", "td" ] }, { "id": 3244, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3245, "text": "array_var", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3246, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3247, "text": "set_array_var", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3248, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3249, "text": "get_array_var", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3250, "text": "A variable within the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3251, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 3252, "text": " that holds an ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3253, "text": ", which is used for the iteration process.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3254, "text": "save_var", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3255, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3256, "text": "set_save_var", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3257, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3258, "text": "get_save_var", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3259, "text": "A ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3260, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 3261, "text": " variable used to store an element of the array referenced by ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3262, "text": "array_var", "parents": [ "span", "a", "p", "section" ] }, { "id": 3263, "text": "BTInstance", "parents": [ "h2", "section", "div", "section" ] }, { "id": 3264, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 3265, "text": "Represents a runtime instance of a ", "parents": [ "p", "section", "div", "section" ] }, { "id": 3266, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 3267, "text": " resource.", "parents": [ "p", "section", "div", "section" ] }, { "id": 3268, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3269, "text": "Can be created using the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3270, "text": "BehaviorTree.instantiate", "parents": [ "span", "a", "p", "section" ] }, { "id": 3271, "text": " method.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3272, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3273, "text": "monitor_performance", "parents": [ "span", "a", "p", "td" ] }, { "id": 3274, "text": "Methods", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3275, "text": "get_agent", "parents": [ "span", "a", "p", "td" ] }, { "id": 3276, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 3277, "text": "Blackboard", "parents": [ "span", "a", "p", "td" ] }, { "id": 3278, "text": "get_blackboard", "parents": [ "span", "a", "p", "td" ] }, { "id": 3279, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 3280, "text": "Status", "parents": [ "span", "a", "p", "td" ] }, { "id": 3281, "text": "get_last_status", "parents": [ "span", "a", "p", "td" ] }, { "id": 3282, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 3283, "text": "get_owner_node", "parents": [ "span", "a", "p", "td" ] }, { "id": 3284, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 3285, "text": "BTTask", "parents": [ "span", "a", "p", "td" ] }, { "id": 3286, "text": "get_root_task", "parents": [ "span", "a", "p", "td" ] }, { "id": 3287, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 3288, "text": "get_source_bt_path", "parents": [ "span", "a", "p", "td" ] }, { "id": 3289, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 3290, "text": "is_instance_valid", "parents": [ "span", "a", "p", "td" ] }, { "id": 3291, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 3292, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 3293, "text": "register_with_debugger", "parents": [ "span", "a", "p", "td" ] }, { "id": 3294, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 3295, "text": "unregister_with_debugger", "parents": [ "span", "a", "p", "td" ] }, { "id": 3296, "text": "Status", "parents": [ "span", "a", "p", "td" ] }, { "id": 3297, "text": "update", "parents": [ "span", "a", "p", "td" ] }, { "id": 3298, "text": "(delta: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 3299, "text": "Signals", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3300, "text": "freed", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3301, "text": "Emitted when the behavior tree instance is freed. Used by debugger to unregister.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3302, "text": "updated", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3303, "text": "(status: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3304, "text": "Emitted when the behavior tree instance has finished updating.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3305, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3306, "text": "monitor_performance", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3307, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3308, "text": "set_monitor_performance", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3309, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3310, "text": "get_monitor_performance", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3311, "text": "If ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3312, "text": ", adds a performance monitor for this instance to “Debugger->Monitors” in the editor.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3313, "text": "Method Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3314, "text": "get_agent", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3315, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 3316, "text": "Returns the agent of the behavior tree instance.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3317, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 3318, "text": "get_blackboard", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3319, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 3320, "text": "Returns the blackboard of the behavior tree instance.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3321, "text": "Status", "parents": [ "span", "a", "p", "section" ] }, { "id": 3322, "text": "get_last_status", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3323, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 3324, "text": "Returns the execution status of the last update.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3325, "text": "get_owner_node", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3326, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 3327, "text": "Returns the scene ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3328, "text": " that owns this behavior tree instance.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3329, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 3330, "text": "get_root_task", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3331, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 3332, "text": "Returns the root task of the behavior tree instance.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3333, "text": "get_source_bt_path", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3334, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 3335, "text": "Returns the file path to the behavior tree resource that was used to create this instance.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3336, "text": "is_instance_valid", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3337, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 3338, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3339, "text": " if the behavior tree instance is properly initialized and can be used.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3340, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 3341, "text": "register_with_debugger", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3342, "text": "Registers the behavior tree instance with the debugger.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3343, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 3344, "text": "unregister_with_debugger", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3345, "text": "Unregisters the behavior tree instance from the debugger. This is typically not necessary, as the debugger will automatically unregister the instance when it is freed.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3346, "text": "Status", "parents": [ "span", "a", "p", "section" ] }, { "id": 3347, "text": "update", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3348, "text": "(delta: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3349, "text": "Ticks the behavior tree instance and returns its status.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3350, "text": "BTInvert", "parents": [ "h2", "section", "div", "section" ] }, { "id": 3351, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 3352, "text": "BTDecorator", "parents": [ "span", "a", "p", "section" ] }, { "id": 3353, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 3354, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 3355, "text": "BT decorator that transforms ", "parents": [ "p", "section", "div", "section" ] }, { "id": 3356, "text": " into ", "parents": [ "p", "section", "div", "section" ] }, { "id": 3357, "text": " and ", "parents": [ "p", "section", "div", "section" ] }, { "id": 3358, "text": " into ", "parents": [ "p", "section", "div", "section" ] }, { "id": 3359, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3360, "text": "BTInvert transforms ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3361, "text": " into ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3362, "text": " and ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3363, "text": " into ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3364, "text": "BTNewScope", "parents": [ "h2", "section", "div", "section" ] }, { "id": 3365, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 3366, "text": "BTDecorator", "parents": [ "span", "a", "p", "section" ] }, { "id": 3367, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 3368, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 3369, "text": "Inherited By:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 3370, "text": "BTSubtree", "parents": [ "span", "a", "p", "section" ] }, { "id": 3371, "text": "BT decorator that creates a new ", "parents": [ "p", "section", "div", "section" ] }, { "id": 3372, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 3373, "text": " scope.", "parents": [ "p", "section", "div", "section" ] }, { "id": 3374, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3375, "text": "BTNewScope creates a new ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3376, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 3377, "text": " scope during initialization and populates it with data. See ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3378, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 3379, "text": "Returns the status of the child task execution.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3380, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3381, "text": "BlackboardPlan", "parents": [ "span", "a", "p", "td" ] }, { "id": 3382, "text": "blackboard_plan", "parents": [ "span", "a", "p", "td" ] }, { "id": 3383, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3384, "text": "BlackboardPlan", "parents": [ "span", "a", "p", "section" ] }, { "id": 3385, "text": "blackboard_plan", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3386, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3387, "text": "set_blackboard_plan", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3388, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3389, "text": "BlackboardPlan", "parents": [ "span", "a", "p", "li" ] }, { "id": 3390, "text": "BlackboardPlan", "parents": [ "span", "a", "p", "li" ] }, { "id": 3391, "text": "get_blackboard_plan", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3392, "text": "Stores and manages variables that will be used in constructing new ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3393, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 3394, "text": " instances.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3395, "text": "BTParallel", "parents": [ "h2", "section", "div", "section" ] }, { "id": 3396, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 3397, "text": "BTComposite", "parents": [ "span", "a", "p", "section" ] }, { "id": 3398, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 3399, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 3400, "text": "BT composite that executes all of its child tasks simultaneously.", "parents": [ "p", "section", "div", "section" ] }, { "id": 3401, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3402, "text": "BTParallel executes all of its child tasks simultaneously. Note that BTParallel doesn’t involve multithreading. It processes each task sequentially, from first to last, in the same tick before returning a result. If one of the abort criterea is met, any tasks currently ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3403, "text": " will be terminated, and the result will be either ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3404, "text": " or ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3405, "text": ". The ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3406, "text": "num_failures_required", "parents": [ "span", "a", "p", "section" ] }, { "id": 3407, "text": " determines when BTParallel fails and ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3408, "text": "num_successes_required", "parents": [ "span", "a", "p", "section" ] }, { "id": 3409, "text": " when it succeeds. When both are fullfilled, it gives priority to ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3410, "text": "num_failures_required", "parents": [ "span", "a", "p", "section" ] }, { "id": 3411, "text": "If set to ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3412, "text": "repeat", "parents": [ "span", "a", "p", "section" ] }, { "id": 3413, "text": ", all child tasks will be re-executed each tick, regardless of whether they previously resulted in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3414, "text": " or ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3415, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3416, "text": " when the required number of child tasks result in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3417, "text": ". When ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3418, "text": "repeat", "parents": [ "span", "a", "p", "section" ] }, { "id": 3419, "text": " is set to ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3420, "text": ", if none of the criteria were met and all child tasks resulted in either ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3421, "text": " or ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3422, "text": ", BTParallel will return ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3423, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3424, "text": " when the required number of child tasks result in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3425, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3426, "text": " if none of the criterea were fulfilled, and either ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3427, "text": "repeat", "parents": [ "span", "a", "p", "section" ] }, { "id": 3428, "text": " is set to ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3429, "text": " or a child task resulted in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3430, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3431, "text": "num_failures_required", "parents": [ "span", "a", "p", "td" ] }, { "id": 3432, "text": "num_successes_required", "parents": [ "span", "a", "p", "td" ] }, { "id": 3433, "text": "repeat", "parents": [ "span", "a", "p", "td" ] }, { "id": 3434, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3435, "text": "num_failures_required", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3436, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3437, "text": "set_num_failures_required", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3438, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3439, "text": "get_num_failures_required", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3440, "text": "If the specified number of child tasks return ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3441, "text": ", BTParallel will also return ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3442, "text": "num_successes_required", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3443, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3444, "text": "set_num_successes_required", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3445, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3446, "text": "get_num_successes_required", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3447, "text": "If the specified number of child tasks return ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3448, "text": ", BTParallel will also return ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3449, "text": "repeat", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3450, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3451, "text": "set_repeat", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3452, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3453, "text": "get_repeat", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3454, "text": "When ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3455, "text": ", the child tasks will be executed again, regardless of whether they previously resulted in a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3456, "text": " or ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3457, "text": "When ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3458, "text": ", if none of the criteria were met, and all child tasks resulted in a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3459, "text": " or ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3460, "text": ", BTParallel will return ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3461, "text": "BTPauseAnimation", "parents": [ "h2", "section", "div", "section" ] }, { "id": 3462, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 3463, "text": "BTAction", "parents": [ "span", "a", "p", "section" ] }, { "id": 3464, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 3465, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 3466, "text": "BT action that pauses the playback of an animation on the specified ", "parents": [ "p", "section", "div", "section" ] }, { "id": 3467, "text": " node.", "parents": [ "p", "section", "div", "section" ] }, { "id": 3468, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3469, "text": "BTPauseAnimation action pauses the playback of an animation on the specified ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3470, "text": " node and returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3471, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3472, "text": " if the action fails to get the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3473, "text": " node.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3474, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3475, "text": "BBNode", "parents": [ "span", "a", "p", "td" ] }, { "id": 3476, "text": "animation_player", "parents": [ "span", "a", "p", "td" ] }, { "id": 3477, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3478, "text": "BBNode", "parents": [ "span", "a", "p", "section" ] }, { "id": 3479, "text": "animation_player", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3480, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3481, "text": "set_animation_player", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3482, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3483, "text": "BBNode", "parents": [ "span", "a", "p", "li" ] }, { "id": 3484, "text": "BBNode", "parents": [ "span", "a", "p", "li" ] }, { "id": 3485, "text": "get_animation_player", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3486, "text": "Parameter that specifies the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3487, "text": " node.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3488, "text": "BTPlayAnimation", "parents": [ "h2", "section", "div", "section" ] }, { "id": 3489, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 3490, "text": "BTAction", "parents": [ "span", "a", "p", "section" ] }, { "id": 3491, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 3492, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 3493, "text": "BT action that plays an animation on the specified ", "parents": [ "p", "section", "div", "section" ] }, { "id": 3494, "text": " node.", "parents": [ "p", "section", "div", "section" ] }, { "id": 3495, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3496, "text": "BTPlayAnimation action plays an animation on the specified ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3497, "text": " node. If the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3498, "text": "await_completion", "parents": [ "span", "a", "p", "section" ] }, { "id": 3499, "text": " is greater than ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3500, "text": ", the action will wait for the animation to complete, with the maximum waiting time equal to ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3501, "text": "await_completion", "parents": [ "span", "a", "p", "section" ] }, { "id": 3502, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3503, "text": " if the animation finishes playing or if the elapsed time exceeds ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3504, "text": "await_completion", "parents": [ "span", "a", "p", "section" ] }, { "id": 3505, "text": ". When ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3506, "text": "await_completion", "parents": [ "span", "a", "p", "section" ] }, { "id": 3507, "text": " is set to ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3508, "text": ", BTPlayAnimation doesn’t wait for the animation to finish and immediately returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3509, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3510, "text": " if the animation is still playing and the elapsed time is less than ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3511, "text": "await_completion", "parents": [ "span", "a", "p", "section" ] }, { "id": 3512, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3513, "text": " if the action fails to play the requested animation.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3514, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3515, "text": "animation_name", "parents": [ "span", "a", "p", "td" ] }, { "id": 3516, "text": "BBNode", "parents": [ "span", "a", "p", "td" ] }, { "id": 3517, "text": "animation_player", "parents": [ "span", "a", "p", "td" ] }, { "id": 3518, "text": "await_completion", "parents": [ "span", "a", "p", "td" ] }, { "id": 3519, "text": "blend", "parents": [ "span", "a", "p", "td" ] }, { "id": 3520, "text": "from_end", "parents": [ "span", "a", "p", "td" ] }, { "id": 3521, "text": "speed", "parents": [ "span", "a", "p", "td" ] }, { "id": 3522, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3523, "text": "animation_name", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3524, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3525, "text": "set_animation_name", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3526, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3527, "text": "get_animation_name", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3528, "text": "Animation’s key within the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3529, "text": " node. If empty, BTPlayAnimation will resume the last played animation if the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3530, "text": " was previously paused.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3531, "text": "BBNode", "parents": [ "span", "a", "p", "section" ] }, { "id": 3532, "text": "animation_player", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3533, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3534, "text": "set_animation_player", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3535, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3536, "text": "BBNode", "parents": [ "span", "a", "p", "li" ] }, { "id": 3537, "text": "BBNode", "parents": [ "span", "a", "p", "li" ] }, { "id": 3538, "text": "get_animation_player", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3539, "text": "Parameter that specifies the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3540, "text": " node.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3541, "text": "await_completion", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3542, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3543, "text": "set_await_completion", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3544, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3545, "text": "get_await_completion", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3546, "text": "The maximum duration to wait for the animation to complete (in seconds). If the animation doesn’t finish within this time, BTPlayAnimation will stop waiting and return ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3547, "text": "blend", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3548, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3549, "text": "set_blend", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3550, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3551, "text": "get_blend", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3552, "text": "Custom blend time (in seconds). See ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3553, "text": "AnimationPlayer.play", "parents": [ "span", "p", "section", "section" ] }, { "id": 3554, "text": "from_end", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3555, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3556, "text": "set_from_end", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3557, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3558, "text": "get_from_end", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3559, "text": "Play animation from the end. Used in combination with negative ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3560, "text": "speed", "parents": [ "span", "a", "p", "section" ] }, { "id": 3561, "text": " to play animation in reverse. See ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3562, "text": "AnimationPlayer.play", "parents": [ "span", "p", "section", "section" ] }, { "id": 3563, "text": "speed", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3564, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3565, "text": "set_speed", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3566, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3567, "text": "get_speed", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3568, "text": "Custom playback speed scaling ratio. See ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3569, "text": "AnimationPlayer.play", "parents": [ "span", "p", "section", "section" ] }, { "id": 3570, "text": "BTProbability", "parents": [ "h2", "section", "div", "section" ] }, { "id": 3571, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 3572, "text": "BTDecorator", "parents": [ "span", "a", "p", "section" ] }, { "id": 3573, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 3574, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 3575, "text": "BT decorator that executes its child task with a given probability.", "parents": [ "p", "section", "div", "section" ] }, { "id": 3576, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3577, "text": "BTProbability executes its child task with a given probability defined by ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3578, "text": "run_chance", "parents": [ "span", "a", "p", "section" ] }, { "id": 3579, "text": "Returns the result of the child task if it was executed; otherwise, it returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3580, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3581, "text": "run_chance", "parents": [ "span", "a", "p", "td" ] }, { "id": 3582, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3583, "text": "run_chance", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3584, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3585, "text": "set_run_chance", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3586, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3587, "text": "get_run_chance", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3588, "text": "Probability that defines how likely the child task will be executed.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3589, "text": "BTProbabilitySelector", "parents": [ "h2", "section", "div", "section" ] }, { "id": 3590, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 3591, "text": "BTComposite", "parents": [ "span", "a", "p", "section" ] }, { "id": 3592, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 3593, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 3594, "text": "BT composite that chooses a child task to execute based on attached probabilities.", "parents": [ "p", "section", "div", "section" ] }, { "id": 3595, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3596, "text": "BTProbabilitySelector chooses a child task to execute based on attached probabilities. It is typically used for decision-making purposes. Probability distribution is calculated based on weights assigned to each child task.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3597, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3598, "text": " when a child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3599, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3600, "text": " when a child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3601, "text": "The behavior of BTProbabilitySelector when a child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3602, "text": " depends on the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3603, "text": "abort_on_failure", "parents": [ "span", "a", "p", "section" ] }, { "id": 3604, "text": " value:", "parents": [ "p", "section", "section", "div" ] }, { "id": 3605, "text": "If ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3606, "text": "abort_on_failure", "parents": [ "span", "a", "p", "li" ] }, { "id": 3607, "text": " is ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3608, "text": ", when a child task results in ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3609, "text": ", BTProbabilitySelector will normalize the probability distribution over the remaining children and choose a new child task to be executed. If all child tasks fail, the composite will return ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3610, "text": "If ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3611, "text": "abort_on_failure", "parents": [ "span", "a", "p", "li" ] }, { "id": 3612, "text": " is ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3613, "text": ", when a child task results in ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3614, "text": ", BTProbabilitySelector will not choose another child task to be executed and will immediately return ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3615, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3616, "text": "abort_on_failure", "parents": [ "span", "a", "p", "td" ] }, { "id": 3617, "text": "Methods", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3618, "text": "get_probability", "parents": [ "span", "a", "p", "td" ] }, { "id": 3619, "text": "(child_idx: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 3620, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 3621, "text": "get_total_weight", "parents": [ "span", "a", "p", "td" ] }, { "id": 3622, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 3623, "text": "get_weight", "parents": [ "span", "a", "p", "td" ] }, { "id": 3624, "text": "(child_idx: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 3625, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 3626, "text": "has_probability", "parents": [ "span", "a", "p", "td" ] }, { "id": 3627, "text": "(child_idx: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 3628, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 3629, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 3630, "text": "set_probability", "parents": [ "span", "a", "p", "td" ] }, { "id": 3631, "text": "(child_idx: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 3632, "text": ", probability: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 3633, "text": "void", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 3634, "text": "set_weight", "parents": [ "span", "a", "p", "td" ] }, { "id": 3635, "text": "(child_idx: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 3636, "text": ", weight: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 3637, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3638, "text": "abort_on_failure", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3639, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3640, "text": "set_abort_on_failure", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3641, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3642, "text": "get_abort_on_failure", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3643, "text": "If ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3644, "text": ", BTProbabilitySelector will not choose another child to execute and will return ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3645, "text": " when a child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3646, "text": "Method Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3647, "text": "get_probability", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3648, "text": "(child_idx: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3649, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 3650, "text": "Returns the child task’s selection probability.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3651, "text": "get_total_weight", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3652, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 3653, "text": "Returns the total weight of all child tasks.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3654, "text": "get_weight", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3655, "text": "(child_idx: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3656, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 3657, "text": "Returns the child task’s weight within the weighted probability selection algorithm.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3658, "text": "has_probability", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3659, "text": "(child_idx: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3660, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 3661, "text": "Returns whether the child task at index ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3662, "text": " participates within the weighted probability selection algorithm and has a probability assigned to it. Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3663, "text": " for ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3664, "text": "BTComment", "parents": [ "span", "a", "p", "section" ] }, { "id": 3665, "text": " tasks.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3666, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 3667, "text": "set_probability", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3668, "text": "(child_idx: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3669, "text": ", probability: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3670, "text": "Sets the child task’s weight calculated based on the desired probability.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3671, "text": "void", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 3672, "text": "set_weight", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3673, "text": "(child_idx: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3674, "text": ", weight: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3675, "text": "Sets the child task’s weight for the weighted probability selection algorithm.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3676, "text": "BTRandomSelector", "parents": [ "h2", "section", "div", "section" ] }, { "id": 3677, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 3678, "text": "BTComposite", "parents": [ "span", "a", "p", "section" ] }, { "id": 3679, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 3680, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 3681, "text": "BT composite that executes tasks in random order until first ", "parents": [ "p", "section", "div", "section" ] }, { "id": 3682, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3683, "text": "BTRandomSelector executes its child tasks in a random order until any child returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3684, "text": ". If a child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3685, "text": ", BTRandomSelector will immediately execute another child task until one of them returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3686, "text": " or all of them result in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3687, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3688, "text": " if a child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3689, "text": ". BTRandomSelector will remember the execution order and the last child task that returned ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3690, "text": ", ensuring it resumes from that point in the next tick.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3691, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3692, "text": " if all child tasks result in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3693, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3694, "text": " if a child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3695, "text": "BTRandomSequence", "parents": [ "h2", "section", "div", "section" ] }, { "id": 3696, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 3697, "text": "BTComposite", "parents": [ "span", "a", "p", "section" ] }, { "id": 3698, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 3699, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 3700, "text": "BT composite that executes tasks in random order as long as they return ", "parents": [ "p", "section", "div", "section" ] }, { "id": 3701, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3702, "text": "BTRandomSequence executes its child tasks in a random order as long as they return ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3703, "text": ". If a child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3704, "text": ", BTRandomSequence will immediately execute the next child task until one of them returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3705, "text": " or all of them result in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3706, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3707, "text": " if a child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3708, "text": ". BTRandomSequence will remember the execution order and the last child task that returned ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3709, "text": ", ensuring it resumes from that point in the next tick.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3710, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3711, "text": " if a child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3712, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3713, "text": " if all child tasks result in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3714, "text": "BTRandomWait", "parents": [ "h2", "section", "div", "section" ] }, { "id": 3715, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 3716, "text": "BTAction", "parents": [ "span", "a", "p", "section" ] }, { "id": 3717, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 3718, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 3719, "text": "BT action that waits for a randomized duration to elapse and then returns ", "parents": [ "p", "section", "div", "section" ] }, { "id": 3720, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3721, "text": "BTRandomWait action waits for a randomized duration to elapse and then returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3722, "text": ". The duration is randomized within the specified range, defined by ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3723, "text": "min_duration", "parents": [ "span", "a", "p", "section" ] }, { "id": 3724, "text": " and ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3725, "text": "max_duration", "parents": [ "span", "a", "p", "section" ] }, { "id": 3726, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3727, "text": "max_duration", "parents": [ "span", "a", "p", "td" ] }, { "id": 3728, "text": "min_duration", "parents": [ "span", "a", "p", "td" ] }, { "id": 3729, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3730, "text": "max_duration", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3731, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3732, "text": "set_max_duration", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3733, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3734, "text": "get_max_duration", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3735, "text": "Maximum duration for the wait.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3736, "text": "min_duration", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3737, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3738, "text": "set_min_duration", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3739, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3740, "text": "get_min_duration", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3741, "text": "Minimum duration for the wait.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3742, "text": "BTRepeat", "parents": [ "h2", "section", "div", "section" ] }, { "id": 3743, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 3744, "text": "BTDecorator", "parents": [ "span", "a", "p", "section" ] }, { "id": 3745, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 3746, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 3747, "text": "BT decorator that repeats its child a specified number of ", "parents": [ "p", "section", "div", "section" ] }, { "id": 3748, "text": "times", "parents": [ "span", "a", "p", "section" ] }, { "id": 3749, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3750, "text": "BTRepeat iterates its child task a specified number of times, as defined by ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3751, "text": "times", "parents": [ "span", "a", "p", "section" ] }, { "id": 3752, "text": ". If ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3753, "text": "forever", "parents": [ "span", "a", "p", "section" ] }, { "id": 3754, "text": " is ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3755, "text": ", the child’s execution will be repeated indefinitely.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3756, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3757, "text": " if the child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3758, "text": ". If ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3759, "text": "forever", "parents": [ "span", "a", "p", "section" ] }, { "id": 3760, "text": " is ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3761, "text": ", BTRepeat will always return ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3762, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3763, "text": " if the specified number of successful executions is reached. If ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3764, "text": "abort_on_failure", "parents": [ "span", "a", "p", "section" ] }, { "id": 3765, "text": " is ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3766, "text": ", a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3767, "text": " status returned by the child is also considered a successful execution.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3768, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3769, "text": " if the child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3770, "text": " when ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3771, "text": "abort_on_failure", "parents": [ "span", "a", "p", "section" ] }, { "id": 3772, "text": " is ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3773, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3774, "text": "abort_on_failure", "parents": [ "span", "a", "p", "td" ] }, { "id": 3775, "text": "forever", "parents": [ "span", "a", "p", "td" ] }, { "id": 3776, "text": "times", "parents": [ "span", "a", "p", "td" ] }, { "id": 3777, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3778, "text": "abort_on_failure", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3779, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3780, "text": "set_abort_on_failure", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3781, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3782, "text": "get_abort_on_failure", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3783, "text": "If ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3784, "text": " status returned by the child task is also considered as a successful execution.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3785, "text": "forever", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3786, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3787, "text": "set_forever", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3788, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3789, "text": "get_forever", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3790, "text": "If ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3791, "text": ", the child’s execution will be repeated indefinitely, always returning ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3792, "text": "times", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3793, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3794, "text": "set_times", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3795, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3796, "text": "get_times", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3797, "text": "The number of times to repeat execution of the child task.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3798, "text": "BTRepeatUntilFailure", "parents": [ "h2", "section", "div", "section" ] }, { "id": 3799, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 3800, "text": "BTDecorator", "parents": [ "span", "a", "p", "section" ] }, { "id": 3801, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 3802, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 3803, "text": "BT decorator that repeats its child task until ", "parents": [ "p", "section", "div", "section" ] }, { "id": 3804, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3805, "text": "BTRepeatUntilFailure repeats its child task until it results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3806, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3807, "text": " if the child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3808, "text": " or ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3809, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3810, "text": " if the child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3811, "text": "BTRepeatUntilSuccess", "parents": [ "h2", "section", "div", "section" ] }, { "id": 3812, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 3813, "text": "BTDecorator", "parents": [ "span", "a", "p", "section" ] }, { "id": 3814, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 3815, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 3816, "text": "BT decorator that repeats its child task until ", "parents": [ "p", "section", "div", "section" ] }, { "id": 3817, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3818, "text": "BTRepeatUntilSuccess repeats its child task until it results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3819, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3820, "text": " if the child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3821, "text": " or ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3822, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3823, "text": " if the child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3824, "text": "BTRunLimit", "parents": [ "h2", "section", "div", "section" ] }, { "id": 3825, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 3826, "text": "BTDecorator", "parents": [ "span", "a", "p", "section" ] }, { "id": 3827, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 3828, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 3829, "text": "BT decorator that restricts the execution of its child a limited number of times.", "parents": [ "p", "section", "div", "section" ] }, { "id": 3830, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3831, "text": "BTRunLimit restricts the execution of the child task to a maximum number of times, defined by ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3832, "text": "run_limit", "parents": [ "span", "a", "p", "section" ] }, { "id": 3833, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3834, "text": " if the limit on executions is exceeded; otherwise, it returns the status of the child task.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3835, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3836, "text": "CountPolicy", "parents": [ "span", "a", "p", "td" ] }, { "id": 3837, "text": "count_policy", "parents": [ "span", "a", "p", "td" ] }, { "id": 3838, "text": "run_limit", "parents": [ "span", "a", "p", "td" ] }, { "id": 3839, "text": "Enumerations", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3840, "text": "enum ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3841, "text": "CountPolicy", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3842, "text": "CountPolicy", "parents": [ "span", "a", "p", "section" ] }, { "id": 3843, "text": "COUNT_SUCCESSFUL", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3844, "text": "Count only successful runs towards the limit.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3845, "text": "CountPolicy", "parents": [ "span", "a", "p", "section" ] }, { "id": 3846, "text": "COUNT_FAILED", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3847, "text": "Count only failed runs towards the limit.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3848, "text": "CountPolicy", "parents": [ "span", "a", "p", "section" ] }, { "id": 3849, "text": "COUNT_ALL", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3850, "text": "Count successful and failed runs towards the limit.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3851, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3852, "text": "CountPolicy", "parents": [ "span", "a", "p", "section" ] }, { "id": 3853, "text": "count_policy", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3854, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3855, "text": "set_count_policy", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3856, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3857, "text": "CountPolicy", "parents": [ "span", "a", "p", "li" ] }, { "id": 3858, "text": "CountPolicy", "parents": [ "span", "a", "p", "li" ] }, { "id": 3859, "text": "get_count_policy", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3860, "text": "Which runs should be counted towards the limit: successful, failed, or all?", "parents": [ "p", "section", "section", "div" ] }, { "id": 3861, "text": "run_limit", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3862, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3863, "text": "set_run_limit", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3864, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3865, "text": "get_run_limit", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3866, "text": "The maximum number of times the child is permitted to be executed.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3867, "text": "BTSelector", "parents": [ "h2", "section", "div", "section" ] }, { "id": 3868, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 3869, "text": "BTComposite", "parents": [ "span", "a", "p", "section" ] }, { "id": 3870, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 3871, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 3872, "text": "BT composite that sequentially executes tasks until first ", "parents": [ "p", "section", "div", "section" ] }, { "id": 3873, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3874, "text": "BTSelector executes its child tasks sequentially, from first to last, until any child returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3875, "text": ". If a child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3876, "text": ", BTSelector will immediately execute the next child task until one of them returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3877, "text": " or all of them result in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3878, "text": ". BTSelector and ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3879, "text": "BTSequence", "parents": [ "span", "a", "p", "section" ] }, { "id": 3880, "text": " are two of the most common building blocks of behavior trees. Essentially, while ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3881, "text": "BTSequence", "parents": [ "span", "a", "p", "section" ] }, { "id": 3882, "text": " is similar to a boolean AND operation, BTSelector is similar to a boolean OR operation. Selectors enable the behavior tree to respond to changes in the environment and trigger transitions between various fallback behaviors.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3883, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3884, "text": " if a child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3885, "text": ". BTSelector will remember the last child task that returned ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3886, "text": ", ensuring it resumes from that point in the next execution tick.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3887, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3888, "text": " if a child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3889, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3890, "text": " if all child tasks result in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3891, "text": "BTSequence", "parents": [ "h2", "section", "div", "section" ] }, { "id": 3892, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 3893, "text": "BTComposite", "parents": [ "span", "a", "p", "section" ] }, { "id": 3894, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 3895, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 3896, "text": "BT composite that sequentially executes tasks as long as they return ", "parents": [ "p", "section", "div", "section" ] }, { "id": 3897, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3898, "text": "BTSequence executes its child tasks sequentially, from first to last, as long as they return ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3899, "text": ". If a child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3900, "text": ", BTSequence will immediately execute the next child task until one of them returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3901, "text": " or all of them result in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3902, "text": ". BTSequence and ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3903, "text": "BTSelector", "parents": [ "span", "a", "p", "section" ] }, { "id": 3904, "text": " are two of the most common building blocks of behavior trees. Essentially, while ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3905, "text": "BTSelector", "parents": [ "span", "a", "p", "section" ] }, { "id": 3906, "text": " is similar to a boolean OR operation, BTSequence is similar to a boolean AND operation. Sequences enable the behavior tree to compose complex behaviors from a chain of simpler tasks.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3907, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3908, "text": " if any child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3909, "text": ". BTSequence will remember the last child task that returned ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3910, "text": ", ensuring it resumes from that point in the next execution tick.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3911, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3912, "text": " if all child tasks result in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3913, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3914, "text": " if a child task results in ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3915, "text": "BTSetAgentProperty", "parents": [ "h2", "section", "div", "section" ] }, { "id": 3916, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 3917, "text": "BTAction", "parents": [ "span", "a", "p", "section" ] }, { "id": 3918, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 3919, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 3920, "text": "BT action that assigns a value to the specified agent’s property.", "parents": [ "p", "section", "div", "section" ] }, { "id": 3921, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3922, "text": "BTSetAgentProperty assigns the specified ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3923, "text": "value", "parents": [ "span", "a", "p", "section" ] }, { "id": 3924, "text": " to the agent’s property identified by the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3925, "text": "property", "parents": [ "span", "a", "p", "section" ] }, { "id": 3926, "text": " and returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3927, "text": ". Optionally, it can perform a specific ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3928, "text": "operation", "parents": [ "span", "a", "p", "section" ] }, { "id": 3929, "text": " before assignment.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3930, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3931, "text": " if it fails to set the property.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3932, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3933, "text": "Operation", "parents": [ "span", "a", "p", "td" ] }, { "id": 3934, "text": "operation", "parents": [ "span", "a", "p", "td" ] }, { "id": 3935, "text": "property", "parents": [ "span", "a", "p", "td" ] }, { "id": 3936, "text": "BBVariant", "parents": [ "span", "a", "p", "td" ] }, { "id": 3937, "text": "value", "parents": [ "span", "a", "p", "td" ] }, { "id": 3938, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3939, "text": "Operation", "parents": [ "span", "a", "p", "section" ] }, { "id": 3940, "text": "operation", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3941, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3942, "text": "set_operation", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3943, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3944, "text": "Operation", "parents": [ "span", "a", "p", "li" ] }, { "id": 3945, "text": "Operation", "parents": [ "span", "a", "p", "li" ] }, { "id": 3946, "text": "get_operation", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3947, "text": "Specifies the operation to be performed before assignment. Operation is executed as follows:", "parents": [ "p", "section", "section", "div" ] }, { "id": 3948, "text": "property", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3949, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3950, "text": "set_property", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3951, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3952, "text": "get_property", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3953, "text": "Parameter that specifies the agent’s property name.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3954, "text": "BBVariant", "parents": [ "span", "a", "p", "section" ] }, { "id": 3955, "text": "value", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3956, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3957, "text": "set_value", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3958, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3959, "text": "BBVariant", "parents": [ "span", "a", "p", "li" ] }, { "id": 3960, "text": "BBVariant", "parents": [ "span", "a", "p", "li" ] }, { "id": 3961, "text": "get_value", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3962, "text": "Parameter that specifies the value that will be assigned to agent’s property.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3963, "text": "BTSetVar", "parents": [ "h2", "section", "div", "section" ] }, { "id": 3964, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 3965, "text": "BTAction", "parents": [ "span", "a", "p", "section" ] }, { "id": 3966, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 3967, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 3968, "text": "BT action that assigns ", "parents": [ "p", "section", "div", "section" ] }, { "id": 3969, "text": "value", "parents": [ "span", "a", "p", "section" ] }, { "id": 3970, "text": " to the ", "parents": [ "p", "section", "div", "section" ] }, { "id": 3971, "text": "variable", "parents": [ "span", "a", "p", "section" ] }, { "id": 3972, "text": " and then returns ", "parents": [ "p", "section", "div", "section" ] }, { "id": 3973, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3974, "text": "BTSetVar assigns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3975, "text": "value", "parents": [ "span", "a", "p", "section" ] }, { "id": 3976, "text": " to the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3977, "text": "variable", "parents": [ "span", "a", "p", "section" ] }, { "id": 3978, "text": " and then returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3979, "text": ". Optionally, it can perform a specific ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3980, "text": "operation", "parents": [ "span", "a", "p", "section" ] }, { "id": 3981, "text": " before assignment.", "parents": [ "p", "section", "section", "div" ] }, { "id": 3982, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3983, "text": " if it fails to set the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 3984, "text": "variable", "parents": [ "span", "a", "p", "section" ] }, { "id": 3985, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3986, "text": "Operation", "parents": [ "span", "a", "p", "td" ] }, { "id": 3987, "text": "operation", "parents": [ "span", "a", "p", "td" ] }, { "id": 3988, "text": "BBVariant", "parents": [ "span", "a", "p", "td" ] }, { "id": 3989, "text": "value", "parents": [ "span", "a", "p", "td" ] }, { "id": 3990, "text": "variable", "parents": [ "span", "a", "p", "td" ] }, { "id": 3991, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 3992, "text": "Operation", "parents": [ "span", "a", "p", "section" ] }, { "id": 3993, "text": "operation", "parents": [ "strong", "p", "section", "section" ] }, { "id": 3994, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 3995, "text": "set_operation", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 3996, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 3997, "text": "Operation", "parents": [ "span", "a", "p", "li" ] }, { "id": 3998, "text": "Operation", "parents": [ "span", "a", "p", "li" ] }, { "id": 3999, "text": "get_operation", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 4000, "text": "Specifies the operation to be performed before assignment. Operation is executed as follows:", "parents": [ "p", "section", "section", "div" ] }, { "id": 4001, "text": "BBVariant", "parents": [ "span", "a", "p", "section" ] }, { "id": 4002, "text": "value", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4003, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 4004, "text": "set_value", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 4005, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 4006, "text": "BBVariant", "parents": [ "span", "a", "p", "li" ] }, { "id": 4007, "text": "BBVariant", "parents": [ "span", "a", "p", "li" ] }, { "id": 4008, "text": "get_value", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 4009, "text": "Parameter that specifies the value to be assigned to the variable.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4010, "text": "variable", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4011, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 4012, "text": "set_variable", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 4013, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 4014, "text": "get_variable", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 4015, "text": "Name of the variable to which the value will be assigned.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4016, "text": "BTStopAnimation", "parents": [ "h2", "section", "div", "section" ] }, { "id": 4017, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 4018, "text": "BTAction", "parents": [ "span", "a", "p", "section" ] }, { "id": 4019, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 4020, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 4021, "text": "BT action that stops the playback of an animation on the specified ", "parents": [ "p", "section", "div", "section" ] }, { "id": 4022, "text": " node.", "parents": [ "p", "section", "div", "section" ] }, { "id": 4023, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 4024, "text": "BTStopAnimation action stops the playback of an animation on the specified ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4025, "text": " node and returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4026, "text": ". If ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4027, "text": "animation_name", "parents": [ "span", "a", "p", "section" ] }, { "id": 4028, "text": " is set, it will only stop the playback if the specified animation is currently playing.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4029, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4030, "text": " if the action fails to get the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4031, "text": " node.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4032, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 4033, "text": "animation_name", "parents": [ "span", "a", "p", "td" ] }, { "id": 4034, "text": "BBNode", "parents": [ "span", "a", "p", "td" ] }, { "id": 4035, "text": "animation_player", "parents": [ "span", "a", "p", "td" ] }, { "id": 4036, "text": "keep_state", "parents": [ "span", "a", "p", "td" ] }, { "id": 4037, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 4038, "text": "animation_name", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4039, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 4040, "text": "set_animation_name", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 4041, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 4042, "text": "get_animation_name", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 4043, "text": "Animation’s key within the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4044, "text": " node. If not empty, BTStopAnimation will only stop the playback if the specified animation is currently playing.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4045, "text": "BBNode", "parents": [ "span", "a", "p", "section" ] }, { "id": 4046, "text": "animation_player", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4047, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 4048, "text": "set_animation_player", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 4049, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 4050, "text": "BBNode", "parents": [ "span", "a", "p", "li" ] }, { "id": 4051, "text": "BBNode", "parents": [ "span", "a", "p", "li" ] }, { "id": 4052, "text": "get_animation_player", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 4053, "text": "Parameter that specifies the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4054, "text": " node.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4055, "text": "keep_state", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4056, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 4057, "text": "set_keep_state", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 4058, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 4059, "text": "get_keep_state", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 4060, "text": "If ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4061, "text": ", the animation state is not updated visually.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4062, "text": "BTSubtree", "parents": [ "h2", "section", "div", "section" ] }, { "id": 4063, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 4064, "text": "BTNewScope", "parents": [ "span", "a", "p", "section" ] }, { "id": 4065, "text": "BTDecorator", "parents": [ "span", "a", "p", "section" ] }, { "id": 4066, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 4067, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 4068, "text": "BT decorator that instantiates and runs a subtree within the larger tree.", "parents": [ "p", "section", "div", "section" ] }, { "id": 4069, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 4070, "text": "BTSubtree instantiates a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4071, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 4072, "text": " and includes its root task as a child during initialization, while also creating a new ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4073, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 4074, "text": " scope.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4075, "text": "Returns the status of the subtree’s execution.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4076, "text": "Subtree blackboard variables can be mapped to the main tree blackboard plan variables. Check out mapping section in the inspector.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4077, "text": "Note: BTSubTree is designed as a simpler loader, and does not support updating ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4078, "text": "subtree", "parents": [ "span", "a", "p", "section" ] }, { "id": 4079, "text": " at runtime. A custom subtree decorator is better suited:", "parents": [ "p", "section", "section", "div" ] }, { "id": 4080, "text": "This allows for the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4081, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 4082, "text": " to load a specific behavior tree from a variable in the blackboard, or from some other location, and use that new behavior tree at runtime.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4083, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 4084, "text": "BehaviorTree", "parents": [ "span", "a", "p", "td" ] }, { "id": 4085, "text": "subtree", "parents": [ "span", "a", "p", "td" ] }, { "id": 4086, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 4087, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 4088, "text": "subtree", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4089, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 4090, "text": "set_subtree", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 4091, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 4092, "text": "BehaviorTree", "parents": [ "span", "a", "p", "li" ] }, { "id": 4093, "text": "BehaviorTree", "parents": [ "span", "a", "p", "li" ] }, { "id": 4094, "text": "get_subtree", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 4095, "text": "A ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4096, "text": "BehaviorTree", "parents": [ "span", "a", "p", "section" ] }, { "id": 4097, "text": " resource that will be instantiated as a subtree.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4098, "text": "BTTimeLimit", "parents": [ "h2", "section", "div", "section" ] }, { "id": 4099, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 4100, "text": "BTDecorator", "parents": [ "span", "a", "p", "section" ] }, { "id": 4101, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 4102, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 4103, "text": "BT decorator that sets a time limit for its child’s execution.", "parents": [ "p", "section", "div", "section" ] }, { "id": 4104, "text": "Description", "parents": [ "h3", "section", "section", "div" ] }, { "id": 4105, "text": "BTTimeLimit allocates a limited time for the child’s execution and aborts it, returning ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4106, "text": " if the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4107, "text": "time_limit", "parents": [ "span", "a", "p", "section" ] }, { "id": 4108, "text": " is exceeded.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4109, "text": "Returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4110, "text": " if the ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4111, "text": "time_limit", "parents": [ "span", "a", "p", "section" ] }, { "id": 4112, "text": " is exceeded; otherwise, it returns the status of the child task.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4113, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 4114, "text": "time_limit", "parents": [ "span", "a", "p", "td" ] }, { "id": 4115, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 4116, "text": "time_limit", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4117, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 4118, "text": "set_time_limit", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 4119, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 4120, "text": "get_time_limit", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 4121, "text": "Time allocated for the child task’s execution.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4122, "text": "BTWait", "parents": [ "h2", "section", "div", "section" ] }, { "id": 4123, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 4124, "text": "BTAction", "parents": [ "span", "a", "p", "section" ] }, { "id": 4125, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 4126, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 4127, "text": "BT action that waits for a specified ", "parents": [ "p", "section", "div", "section" ] }, { "id": 4128, "text": "duration", "parents": [ "span", "a", "p", "section" ] }, { "id": 4129, "text": " to elapse and then returns ", "parents": [ "p", "section", "div", "section" ] }, { "id": 4130, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 4131, "text": "duration", "parents": [ "span", "a", "p", "td" ] }, { "id": 4132, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 4133, "text": "duration", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4134, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 4135, "text": "set_duration", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 4136, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 4137, "text": "get_duration", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 4138, "text": "There is currently no description for this property. Please help us by ", "parents": [ "p", "div", "section", "section" ] }, { "id": 4139, "text": "contributing one", "parents": [ "span", "p", "div", "section" ] }, { "id": 4140, "text": "BTWaitTicks", "parents": [ "h2", "section", "div", "section" ] }, { "id": 4141, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 4142, "text": "BTAction", "parents": [ "span", "a", "p", "section" ] }, { "id": 4143, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 4144, "text": "BT", "parents": [ "span", "a", "p", "section" ] }, { "id": 4145, "text": "BT action that waits for a specified number of ticks to elapse and then returns ", "parents": [ "p", "section", "div", "section" ] }, { "id": 4146, "text": "Properties", "parents": [ "h3", "section", "section", "div" ] }, { "id": 4147, "text": "num_ticks", "parents": [ "span", "a", "p", "td" ] }, { "id": 4148, "text": "Property Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 4149, "text": "num_ticks", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4150, "text": "void", "parents": [ "abbr", "p", "li", "ul" ] }, { "id": 4151, "text": "set_num_ticks", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 4152, "text": "(value: ", "parents": [ "p", "li", "ul", "section" ] }, { "id": 4153, "text": "get_num_ticks", "parents": [ "strong", "p", "li", "ul" ] }, { "id": 4154, "text": "The number of ticks to wait before returning ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4155, "text": "LimboUtility", "parents": [ "h2", "section", "div", "section" ] }, { "id": 4156, "text": "Inherits:", "parents": [ "strong", "p", "section", "div" ] }, { "id": 4157, "text": "Helper functions for LimboAI.", "parents": [ "p", "section", "div", "section" ] }, { "id": 4158, "text": "Methods", "parents": [ "h3", "section", "section", "div" ] }, { "id": 4159, "text": "decorate_output_var", "parents": [ "span", "a", "p", "td" ] }, { "id": 4160, "text": "(variable: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 4161, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 4162, "text": "decorate_var", "parents": [ "span", "a", "p", "td" ] }, { "id": 4163, "text": "(variable: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 4164, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 4165, "text": "get_check_operator_string", "parents": [ "span", "a", "p", "td" ] }, { "id": 4166, "text": "(check: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 4167, "text": "CheckType", "parents": [ "span", "a", "p", "td" ] }, { "id": 4168, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 4169, "text": "get_operation_string", "parents": [ "span", "a", "p", "td" ] }, { "id": 4170, "text": "(operation: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 4171, "text": "Operation", "parents": [ "span", "a", "p", "td" ] }, { "id": 4172, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 4173, "text": "get_status_name", "parents": [ "span", "a", "p", "td" ] }, { "id": 4174, "text": "(status: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 4175, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 4176, "text": "get_task_icon", "parents": [ "span", "a", "p", "td" ] }, { "id": 4177, "text": "(class_or_script_path: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 4178, "text": "const", "parents": [ "abbr", "p", "td", "tr" ] }, { "id": 4179, "text": "perform_check", "parents": [ "span", "a", "p", "td" ] }, { "id": 4180, "text": "(check: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 4181, "text": "CheckType", "parents": [ "span", "a", "p", "td" ] }, { "id": 4182, "text": ", a: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 4183, "text": ", b: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 4184, "text": "perform_operation", "parents": [ "span", "a", "p", "td" ] }, { "id": 4185, "text": "(operation: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 4186, "text": "Operation", "parents": [ "span", "a", "p", "td" ] }, { "id": 4187, "text": ", a: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 4188, "text": ", b: ", "parents": [ "p", "td", "tr", "tbody" ] }, { "id": 4189, "text": "Enumerations", "parents": [ "h3", "section", "section", "div" ] }, { "id": 4190, "text": "enum ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4191, "text": "CheckType", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4192, "text": "CheckType", "parents": [ "span", "a", "p", "section" ] }, { "id": 4193, "text": "CHECK_EQUAL", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4194, "text": "Equality Check.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4195, "text": "CheckType", "parents": [ "span", "a", "p", "section" ] }, { "id": 4196, "text": "CHECK_LESS_THAN", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4197, "text": "Less Than Check.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4198, "text": "CheckType", "parents": [ "span", "a", "p", "section" ] }, { "id": 4199, "text": "CHECK_LESS_THAN_OR_EQUAL", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4200, "text": "Less Than or Equal To Check.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4201, "text": "CheckType", "parents": [ "span", "a", "p", "section" ] }, { "id": 4202, "text": "CHECK_GREATER_THAN", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4203, "text": "Greater Than Check.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4204, "text": "CheckType", "parents": [ "span", "a", "p", "section" ] }, { "id": 4205, "text": "CHECK_GREATER_THAN_OR_EQUAL", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4206, "text": "Greater Than or Equal To Check", "parents": [ "p", "section", "section", "div" ] }, { "id": 4207, "text": "CheckType", "parents": [ "span", "a", "p", "section" ] }, { "id": 4208, "text": "CHECK_NOT_EQUAL", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4209, "text": "Inequality Check.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4210, "text": "enum ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4211, "text": "Operation", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4212, "text": "Operation", "parents": [ "span", "a", "p", "section" ] }, { "id": 4213, "text": "OPERATION_NONE", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4214, "text": "No operation.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4215, "text": "Operation", "parents": [ "span", "a", "p", "section" ] }, { "id": 4216, "text": "OPERATION_ADDITION", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4217, "text": "Arithmetic addition.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4218, "text": "Operation", "parents": [ "span", "a", "p", "section" ] }, { "id": 4219, "text": "OPERATION_SUBTRACTION", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4220, "text": "Arithmetic subtraction.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4221, "text": "Operation", "parents": [ "span", "a", "p", "section" ] }, { "id": 4222, "text": "OPERATION_MULTIPLICATION", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4223, "text": "Arithmetic multiplication.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4224, "text": "Operation", "parents": [ "span", "a", "p", "section" ] }, { "id": 4225, "text": "OPERATION_DIVISION", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4226, "text": "Arithmetic division.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4227, "text": "Operation", "parents": [ "span", "a", "p", "section" ] }, { "id": 4228, "text": "OPERATION_MODULO", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4229, "text": "Produces the remainder of an integer division.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4230, "text": "Operation", "parents": [ "span", "a", "p", "section" ] }, { "id": 4231, "text": "OPERATION_POWER", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4232, "text": "Multiply ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4233, "text": " by itself ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4234, "text": " times.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4235, "text": "Operation", "parents": [ "span", "a", "p", "section" ] }, { "id": 4236, "text": "OPERATION_BIT_SHIFT_LEFT", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4237, "text": "Bitwise left shift.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4238, "text": "Operation", "parents": [ "span", "a", "p", "section" ] }, { "id": 4239, "text": "OPERATION_BIT_SHIFT_RIGHT", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4240, "text": "Bitwise right shift.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4241, "text": "Operation", "parents": [ "span", "a", "p", "section" ] }, { "id": 4242, "text": "OPERATION_BIT_AND", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4243, "text": "Bitwise AND.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4244, "text": "Operation", "parents": [ "span", "a", "p", "section" ] }, { "id": 4245, "text": "OPERATION_BIT_OR", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4246, "text": "Bitwise OR.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4247, "text": "Operation", "parents": [ "span", "a", "p", "section" ] }, { "id": 4248, "text": "OPERATION_BIT_XOR", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4249, "text": "Bitwise XOR.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4250, "text": "Method Descriptions", "parents": [ "h3", "section", "section", "div" ] }, { "id": 4251, "text": "decorate_output_var", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4252, "text": "(variable: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4253, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 4254, "text": "Just like ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4255, "text": "decorate_var", "parents": [ "span", "a", "p", "section" ] }, { "id": 4256, "text": ", produces a string with a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4257, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 4258, "text": " variable name that is formatted for display, and also adds an additional symbol to indicate that the variable is used as an output.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4259, "text": "decorate_var", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4260, "text": "(variable: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4261, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 4262, "text": "Produces a string with a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4263, "text": "Blackboard", "parents": [ "span", "a", "p", "section" ] }, { "id": 4264, "text": " variable name that is formatted for display or console output.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4265, "text": "get_check_operator_string", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4266, "text": "(check: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4267, "text": "CheckType", "parents": [ "span", "a", "p", "section" ] }, { "id": 4268, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 4269, "text": "Returns an operator string for a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4270, "text": "CheckType", "parents": [ "span", "a", "p", "section" ] }, { "id": 4271, "text": " enum value. For example, ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4272, "text": "CHECK_EQUAL", "parents": [ "span", "a", "p", "section" ] }, { "id": 4273, "text": " returns “==”.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4274, "text": "get_operation_string", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4275, "text": "(operation: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4276, "text": "Operation", "parents": [ "span", "a", "p", "section" ] }, { "id": 4277, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 4278, "text": "Returns a string representation of an ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4279, "text": "Operation", "parents": [ "span", "a", "p", "section" ] }, { "id": 4280, "text": " enum value.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4281, "text": "get_status_name", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4282, "text": "(status: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4283, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 4284, "text": "Returns a name of a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4285, "text": "BTTask", "parents": [ "span", "a", "p", "section" ] }, { "id": 4286, "text": " status code.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4287, "text": "get_task_icon", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4288, "text": "(class_or_script_path: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4289, "text": "const", "parents": [ "abbr", "p", "section", "section" ] }, { "id": 4290, "text": "Returns the icon texture associated with a task based on its class name or script resource path.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4291, "text": "perform_check", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4292, "text": "(check: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4293, "text": "CheckType", "parents": [ "span", "a", "p", "section" ] }, { "id": 4294, "text": ", a: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4295, "text": ", b: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4296, "text": "Performs a ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4297, "text": " on two values, ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4298, "text": " and ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4299, "text": ", and returns ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4300, "text": " if the check passes.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4301, "text": "perform_operation", "parents": [ "strong", "p", "section", "section" ] }, { "id": 4302, "text": "(operation: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4303, "text": "Operation", "parents": [ "span", "a", "p", "section" ] }, { "id": 4304, "text": ", a: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4305, "text": ", b: ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4306, "text": "Performs an ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4307, "text": " on two values, ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4308, "text": " and ", "parents": [ "p", "section", "section", "div" ] }, { "id": 4309, "text": ", and returns the result.", "parents": [ "p", "section", "section", "div" ] }, { "id": 4310, "text": "© Copyright 2023-present Serhii Snitsaruk and the LimboAI contributors.", "parents": [ "p", "div", "footer", "div" ] }, { "id": 4311, "text": "\n\n Built with ", "parents": [ "footer", "div", "div", "section" ] }, { "id": 4312, "text": "Sphinx", "parents": [ "a", "footer", "div", "div" ] }, { "id": 4313, "text": " using a\n ", "parents": [ "footer", "div", "div", "section" ] }, { "id": 4314, "text": "theme", "parents": [ "a", "footer", "div", "div" ] }, { "id": 4315, "text": "\n provided by ", "parents": [ "footer", "div", "div", "section" ] }, { "id": 4316, "text": "Read the Docs", "parents": [ "a", "footer", "div", "div" ] } ]