Serhii Snitsaruk
3b12288ae0
BlackboardPlan: Serialize only non-empty mapping values
2024-05-14 20:25:18 +02:00
Serhii Snitsaruk
a1cdff2e2e
Fix issues with mapping in BTSubtree
2024-05-14 19:47:05 +02:00
Serhii Snitsaruk
0d1e846d93
BlackboardPlan: Use mapping with BTSubtree
2024-05-14 11:39:32 +02:00
Serhii Snitsaruk
2d493a76bd
BlackboardPlan: Improve mapping and serialize
2024-05-14 09:29:56 +02:00
Serhii Snitsaruk
bdfe5f52c2
BlackboardPlan: Implement rudimentary mapping
2024-05-13 23:21:55 +02:00
Serhii Snitsaruk
506d8aa967
Use `scene_root` with `BBParam`
2024-05-01 23:39:09 +02:00
Serhii Snitsaruk
c6bb5bad74
Fix: BBParam saved_value defaults to null
2024-05-01 18:09:06 +02:00
Serhii Snitsaruk
c739a876b0
Blackboard: Add `create` parameter to `bind_var_to_property` and `link_var`
2024-04-09 11:34:22 +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
d48daf2135
BlackboardPlan: Avoid circular references in derived mode
...
If the same plan resource is assigned in BehaviorTree and in BTPlayer, simply use the resource as is. Using the same resource for `BehaviorTree` and `BTPlayer` will disable derived mode, and allow managing from `BTPlayer` . There is a risk of using `NodePath` variables with different scenes: the path may actually be different if node structure is not the same. It will lead to fetching breaking for some of those scenes.
2024-04-01 01:45:40 +02:00
Serhii Snitsaruk
a5aea72a17
Plan: Fix syncing derived plan sometimes fails on var rename
2024-03-25 01:04:07 +01:00
Serhii Snitsaruk
1de6256401
Plan: Don't store unmodified variables in a derived plan
...
Fixes "sticky" old values in a derived plan.
2024-03-25 00:56:08 +01:00
Serhii Snitsaruk
12fd9d00d6
Update file headers and fix whitespace
2024-03-21 21:38:57 +01:00
Serhii Snitsaruk
9e62fe8fa3
Fix `BBParam` stored value defaulting to `null` in GDExtension
2024-03-20 23:57:42 +01:00
Serhii Snitsaruk
cbd467f97f
Blackboard: Assigning variables via code might have no effect if done before initialization
2024-03-13 22:00:50 +01:00
Serhii Snitsaruk
06ebff7518
Fix includes and build errors
2024-03-12 21:09:28 +01:00
Serhii Snitsaruk
ca6b497019
Sync order of variables in derived `BlackboardPlan`
2024-03-12 17:11:01 +01:00
Serhii Snitsaruk
434545ebad
Blackboard: Linking vars with `Blackboard::link_var`
2024-03-12 16:17:34 +01:00
Serhii Snitsaruk
a6e6b53e18
Improve prefetching
2024-03-12 00:30:38 +01:00
Serhii Snitsaruk
7de582c4e6
Fix complain parameter is not respected in `Blackboard::get_var` if parent scope is assigned
2024-03-11 23:04:34 +01:00
Serhii Snitsaruk
e2edb083ff
When prefetch fails, don't print error if variable is on blackboard
2024-03-11 22:12:44 +01:00
Serhii Snitsaruk
b09006a11b
Fix issues with blackboard plan system
2024-03-11 18:58:40 +01:00
Serhii Snitsaruk
9957ef2ea7
Expose additional `BlackboardPlan` methods for custom tooling
2024-03-08 15:33:28 +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
d66f1e83fd
Refactor BlackboardPlan to use StringName
...
Also update demo BTs.
2024-03-04 16:56:57 +01:00
Serhii Snitsaruk
7cf4a4b3b8
Fix setter/getter types in BBVariable
2024-03-04 16:19:39 +01:00
Serhii Snitsaruk
350c27abbc
Change BB variable members to StringName
2024-03-04 12:54:45 +01:00
Serhii Snitsaruk
b7d1bc11ab
Blackboard: Use `StringName` for variable names
2024-03-03 23:38:52 +01:00
Serhii Snitsaruk
bb6fab7555
API: Expose BlackboardPlan factory methods
2024-03-02 16:06:32 +01:00
Serhii Snitsaruk
c4931ae420
Fix Blackboard.{set,get}_parent_scope should be {set,get}_parent in the API
2024-03-02 15:43:55 +01:00
Serhii Snitsaruk
2d98a38ada
Fix "Manage" button is sometimes shown for derived plans
2024-02-29 15:45:59 +01:00
Serhii Snitsaruk
6d36d20d06
Blackboard: Complain when variable is missing
2024-02-13 17:15:19 +01:00
Serhii Snitsaruk
95c2496adf
Improve variable synchronization between base and derived blackboard plans
...
When variable is altered in the base plan, values should properly sync to the derived plans if those vars are not altered in the derived plan. Editor QoL improvement.
2024-02-09 13:58:54 +01:00
Serhii Snitsaruk
61ef929411
Editor: Don't allow variables with the same names as Resource props
2024-01-29 10:32:32 +01:00
Serhii Snitsaruk
174810fb34
Editor: Validate var name in BlackboardPlanEditor
2024-01-28 20:15:42 +01:00
Serhii Snitsaruk
c81c1ec872
Blackboard: Add variable-to-property binding interface
2024-01-27 21:44:58 +01:00
Serhii Snitsaruk
f912f0acc4
Usability improvements
2024-01-25 22:58:21 +01:00
Serhii Snitsaruk
5fee89b00b
Make blackboard improvements compatible with GDExtension
2024-01-25 19:46:27 +01:00
Serhii Snitsaruk
8155c2764a
Refactoring and clean up
2024-01-25 14:35:48 +01:00
Serhii Snitsaruk
fb1ab16682
In a derived BB plan, hide variables with names that begin with "_"
2024-01-25 11:51:35 +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
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
6ef0dd942e
Add initial implementation of BBVariable and BlackboardSource classes
2024-01-23 10:33:57 +01:00
Serhii Snitsaruk
33b455f8d9
Add BBParam missing types
2024-01-19 17:15:22 +01:00