Commit Graph

202 Commits

Author SHA1 Message Date
Serhii Snitsaruk 5048d6a485
Fix BT being ticked after transition happened and state is no longer active 2024-04-20 20:19:07 +02:00
Serhii Snitsaruk 3918272227
BehaviorTree: New signal for when BB plan changes
Utilize `plan_changed` signal in `BTPlayer` and `BTState`.
2024-04-01 16:34:36 +02:00
Serhii Snitsaruk 302de87e32
Prevent using external resources for derived blackboard plans in `BTPlayer` and `BTState` 2024-04-01 15:25:54 +02:00
Serhii Snitsaruk 5ff42e29e4
Always duplicate `BlackboardPlan` props 2024-04-01 01:11:51 +02:00
Serhii Snitsaruk e50b00c70e
BTSubtree: Fix subtree blackboard plan is not property utilized 2024-03-26 18:19:31 +01:00
Serhii Snitsaruk 12fd9d00d6
Update file headers and fix whitespace 2024-03-21 21:38:57 +01:00
Serhii Snitsaruk 06ebff7518 Fix includes and build errors 2024-03-12 21:09:28 +01:00
Serhii Snitsaruk b09006a11b Fix issues with blackboard plan system 2024-03-11 18:58:40 +01:00
Serhii Snitsaruk 2658060b1c Move prefetching code into `BlackboardPlan` and add checkbox to the plan editor 2024-03-06 21:28:06 +01:00
Serhii Snitsaruk 4c26583007 Remove "p_" from the argument names in the `ClassDB` bindings 2024-03-04 21:36:16 +01:00
Serhii Snitsaruk 88df78c4a2 Refactor HSM to use StringName for events 2024-03-04 16:19:35 +01:00
Serhii Snitsaruk 350c27abbc Change BB variable members to StringName 2024-03-04 12:54:45 +01:00
Serhii Snitsaruk f5d21e2669 Fix BTState not honoring API virtual methods 2024-03-02 20:19:38 +01:00
Wilson E. Alvarez fb958c7c34
Add BTEvaluateExpression 2024-02-18 12:20:48 -05:00
Serhii Snitsaruk e6e2f5595d BTRunLimit: Add `count_policy` property
Breaking compatibility: RunLimit count policy defaults to counting only successful runs. Previously, both successful and failed runs were counted.
2024-02-10 20:13:39 +01:00
Serhii Snitsaruk 654eda1c65 Better error handling when resolving _generate_name 2024-02-10 15:05:50 +01:00
Serhii Snitsaruk 899335d1fe Util: Function to decorate output variable 2024-02-10 12:34:29 +01:00
Serhii Snitsaruk d38e6f97f1 Editor: Implement Cut-Copy-Paste
Resolves #14
2024-02-08 17:16:26 +01:00
Serhii Snitsaruk c5b92aa676 Expose BehaviorTreeView for tools and in-game use 2024-02-03 16:59:51 +01:00
Serhii Snitsaruk 3e32051791 Editor: Remember collapsed items in task tree 2024-02-02 16:46:26 +01:00
Serhii Snitsaruk ab564eb631 BTProbability: Fix incorrect percentage shown 2024-01-31 15:40:59 +01:00
Serhii Snitsaruk 761b211740 Editor: Mark behavior tree as dirty when blackboard plan changes 2024-01-26 16:47:26 +01:00
Serhii Snitsaruk 8155c2764a Refactoring and clean up 2024-01-25 14:35:48 +01:00
Serhii Snitsaruk 06052332b2 BlackboardPlanEditor: Fixes and clean up 2024-01-25 11:08:35 +01:00
Serhii Snitsaruk 15e0323919 Implement BlackboardPlan editor 2024-01-24 23:11:09 +01:00
Serhii Snitsaruk 20a995d1d2 Rename BlackboardSource => BlackboardPlan
Because it's a better name ;)
2024-01-23 20:02:23 +01:00
Serhii Snitsaruk b04f7530e4 Add a mechanism for overriding and resetting variables in a derived blackboard source 2024-01-23 17:54:20 +01:00
Serhii Snitsaruk f84127657b Fix crash while initializing blackboard in the BTPlayer node 2024-01-23 16:22:10 +01:00
Serhii Snitsaruk dc40109ade Fix default object value issues 2024-01-23 15:56:30 +01:00
Serhii Snitsaruk 8c67886b52 Parsing BlackboardSource properties 2024-01-23 15:31:56 +01:00
Serhii Snitsaruk a247d0d67b Replace node blackboard data with BlackboardSource 2024-01-23 12:05:54 +01:00
Serhii Snitsaruk 390d4a9385 New and improved workaround for the missing ClassDB::add_virtual_method 2024-01-17 22:46:48 +01:00
Serhii Snitsaruk c63785b5bc CallMethod: Use array of BBVariant to specify arguments
This allows specifying variables on the blackboard as arguments in additions to raw values.

WARNING: Breaks compatibility if you are using CallMethod tasks. CallMethod arguments in existing trees will need to be reassigned!
2024-01-15 21:51:17 +01:00
Serhii Snitsaruk 184361d460 CallMethod: Store result on the blackboard 2024-01-15 21:32:39 +01:00
Serhii Snitsaruk f546e285b7 Refactor and clean up the code 2024-01-13 17:10:42 +01:00
Serhii Snitsaruk eec085278a Fix name generation broken in module 2024-01-13 13:35:16 +01:00
Serhii Snitsaruk e6c87be723 Fix various bugs and unit tests 2024-01-11 00:31:42 +01:00
Serhii Snitsaruk 0e37d3dfa3 Fix module compilation 2024-01-10 22:45:42 +01:00
Serhii Snitsaruk 966199e8dc Fix: Weird name showing on the tasks 2024-01-09 22:06:56 +01:00
Serhii Snitsaruk a9a38bbffb Port debugger 2024-01-09 21:47:22 +01:00
Serhii Snitsaruk 59a8ab97d8 chore: Rename macro LSNAME to LW_NAME 2024-01-09 13:42:54 +01:00
Serhii Snitsaruk 9645baeb30 Port LimboAI plugin and editor 2024-01-09 13:34:24 +01:00
Serhii Snitsaruk f5b1b52f67 Port LimboHSM, LimboState and BTState 2024-01-07 05:54:17 +01:00
Serhii Snitsaruk 0767c0eee1 Port BTPlayer and LimboDebugger (game-side part) 2024-01-07 02:40:51 +01:00
Serhii Snitsaruk 4f97c1bd24 Post the rest of the BT tasks (massive changes) 2024-01-07 00:47:46 +01:00
Serhii Snitsaruk 2c4e343a48 Port the first core classes to get started
Ported: Blackboard, BTTask, BTAction, BTComment, BTDecorator, BTComposite, BTDecorator, LimboStringNames, LimboTaskDB, LimboUtility
2024-01-06 21:04:34 +01:00
Serhii Snitsaruk 4cf5a18721 Fix another potential crash related to debugger not being active 2023-12-28 14:41:58 +01:00
Serhii Snitsaruk 9e33b81f50
Merge pull request #11 from Rubonnek/fix-limbodebugger-crash
Fix LimboDebugger crash when EngineDebugger is not active
2023-12-28 14:37:00 +01:00
Serhii Snitsaruk 22bfb9e3ab Improve BTCallMethod
- Fix `include_delta` not initialized for some reason
- Add additional tests
- Group argument properties
- Improve name generation
2023-12-28 14:26:39 +01:00
Wilson E. Alvarez 56d7fb91c6
Fix LimboDebugger crash when EngineDebugger is not active 2023-12-27 21:02:22 -05:00
Wilson E. Alvarez ab311c5770
Allow BTCallMethod to include its delta as an argument 2023-12-27 19:46:19 -05:00
Serhii Snitsaruk 3f61204961 Open BehaviorTree in the BT editor when its property is clicked in the inspector 2023-12-18 15:49:20 +01:00
Serhii Snitsaruk 71909648b7 Add "inline" optimizations 2023-11-22 13:41:28 +01:00
Serhii Snitsaruk 60012d984b Fix drag & drop position in the same branch
Also, refactor get_child_index() into get_index().
2023-11-22 13:05:55 +01:00
Serhii Snitsaruk caf1ff86b0 SetAgentProperty: Operation feature 2023-11-20 15:02:18 +01:00
Serhii Snitsaruk c48eeef081 BTSetVar: Cover operations in unit tests & fix bugs 2023-11-15 16:35:56 +01:00
Serhii Snitsaruk 554ae5a165 Update class docs and refactor SetVar enums 2023-11-15 15:40:07 +01:00
Serhii Snitsaruk 1ac24e67bb BTSetVar: Specify operation to be performed with assignment 2023-11-15 14:45:10 +01:00
Serhii Snitsaruk 166cc8b1d9 Rename BTTask::cancel() to abort() and expose it. 2023-10-26 16:26:10 +02:00
Serhii Snitsaruk 39971b1e1a Improve BTPlayer doc 2023-10-26 13:44:09 +02:00
Serhii Snitsaruk b5a44c0807 Fix BTProbabilitySelector showing probability for comments 2023-09-26 16:28:47 +02:00
Serhii Snitsaruk 1df821fdfa Allow editing weight as percent in Probability popup 2023-09-25 22:36:37 +02:00
Serhii Snitsaruk 52a70fdee5 Add editor support for BTProbabilitySelector 2023-09-25 18:07:26 +02:00
Serhii Snitsaruk 32cbce6b80 Add abort_on_failure policy to BTProbabilitySelector 2023-09-24 16:45:10 +02:00
Serhii Snitsaruk 55e0b7404c Add BTProbabilitySelector class 2023-09-24 14:06:09 +02:00
Serhii Snitsaruk c94073fb39 Move BTCallMethod to Utility category 2023-09-20 10:40:16 +02:00
Serhii Snitsaruk efe693347e Refactor to return enum instead of int in task methods 2023-09-19 15:29:29 +02:00
Serhii Snitsaruk 50bcbcf616 Promote TaskStatus to named enum 2023-09-19 15:29:29 +02:00
Serhii Snitsaruk 476c4fd497 Merge branch 'unit-testing' 2023-09-12 10:03:30 +02:00
Serhii Snitsaruk 427de50ea1 Fix exposed methods missing arguments 2023-09-12 09:46:10 +02:00
Serhii Snitsaruk 97eee2a801 Fix not registering BT instance with debugger when BTPlayer is removed and then added to SceneTree 2023-09-09 13:37:09 +02:00
Serhii Snitsaruk e1604fab67 Fix BTWaitTicks counting prematurely 2023-09-08 11:19:55 +02:00
Serhii Snitsaruk 198954e45f Fix BTSetAgentProperty wrong error message 2023-09-07 12:13:31 +02:00
Serhii Snitsaruk fe81b90dc1 Allow objects in BBNode 2023-09-05 11:00:58 +02:00
Serhii Snitsaruk fe551e0299 Fix BTSetVar succeeding and setting variable to null when value parameter doesn't exist on the Blackboard 2023-09-02 14:16:52 +02:00
Serhii Snitsaruk a07654394b Fix BTCallMethod incompatibility with .NET glue 2023-08-28 19:24:55 +02:00
Serhii Snitsaruk 25246a1c77 Reorganize task categories 2023-08-28 13:22:23 +02:00
Serhii Snitsaruk 2ffcbf0565 Add `LimboTaskDB` to handle task categories and scanning user tasks 2023-08-25 17:32:46 +02:00
Serhii Snitsaruk 3f673c6865 Improve BTComment
Warn user about having comment as root task or having other tasks as children
2023-08-19 12:39:51 +02:00
Serhii Snitsaruk 0ae2b6869a Don't count BTComment tasks for configuration warnings 2023-08-19 12:20:18 +02:00
Serhii Snitsaruk a717a3ed8f Add BTComment task 2023-08-18 21:38:28 +02:00
Serhii Snitsaruk 13f5eb1f71 Reorganize BT tasks 2023-08-15 17:49:13 +02:00
Serhii Snitsaruk 21c65541bf Refactor BTTask.get_configuration_warnings() 2023-08-15 17:06:07 +02:00
Serhii Snitsaruk d037295e1c Add CallMethod action task 2023-08-15 13:09:18 +02:00
Serhii Snitsaruk 015ec64771 Add BTAwaitAnimation action 2023-08-14 17:24:27 +02:00
Serhii Snitsaruk 94f6d289a8 Allow BTPlayAnimation with `animation_name` empty to resume playback after pause 2023-08-14 14:31:02 +02:00
Serhii Snitsaruk 8e3c4c7570 Add BTPauseAnimation action 2023-08-14 14:08:10 +02:00
Serhii Snitsaruk 0b1d249ebe BTStopAnimation: Add `keep_state` and fixes 2023-08-14 13:06:00 +02:00
Serhii Snitsaruk abe1117055 Add BTStopAnimation action 2023-08-14 12:43:12 +02:00
Serhii Snitsaruk 45cf74dca9 Add BTPlayAnimation action 2023-08-13 17:34:34 +02:00
Serhii Snitsaruk f286673dde BT*AgentProperty fixes 2023-08-11 22:16:03 +02:00
Serhii Snitsaruk 557d457c1c Add BTSetAgentProperty task 2023-08-11 12:33:39 +02:00
Serhii Snitsaruk d3d5a0c50e Refactor BTCheckVar 2023-08-10 13:12:13 +02:00
Serhii Snitsaruk 605444ee0f Add BTCheckAgentProperty condition 2023-08-10 13:04:53 +02:00
Serhii Snitsaruk a6077e202d Add BTCheckTrigger 2023-08-09 10:33:04 +02:00
Serhii Snitsaruk afe210b014 Update variables demo and small fixes 2023-08-08 15:07:02 +02:00
Serhii Snitsaruk 2795c6dcf2 Add BTCheckVar condition task 2023-08-08 15:06:01 +02:00
Serhii Snitsaruk c8ec35c798 Improve BTConsolePrint action
- Make generated name less verbose
- Escape new line and tab characters
2023-08-07 14:58:09 +02:00
Serhii Snitsaruk 34e70d48ce Add BTSetVar action
BTSetVar action can be used to assign any variant-type value to a blackboard variable.
2023-08-07 14:42:34 +02:00
Serhii Snitsaruk 458ad5280e BTRepeat: Add `forever` property
This property makes BTRepeat iterate child indefinitely.
2023-08-06 12:45:19 +02:00