Commit Graph

59 Commits

Author SHA1 Message Date
Alexander Montag 6776319472
Implement Tree Search Functionality with Highlighting and Filtering
This commit introduces a comprehensive Tree Search feature, including:
- Tree highlighting: Highlights items that match the search query.
- Tree filtering: Filters items so only matches and descendants are
  shown.
- Counting descendants: Shows the number of matching items within collapsed branches.
- Jump to next match: on enter.
- (Limbo-)Shortcut: Default CTRL-F.
- Menu entry: Misc->Search Tree.
- Remember separate SearchInfo for each tab.

Key implementation details:
- Optimized performance for large trees
- Implemented recursive filtering for efficiency
- Added UI elements including next/previous match buttons

Development History:
- Initial implementation of highlighting and filtering
- Multiple rounds of performance optimization
- Bug fixes and refactoring for correctness
- UI enhancements and polish
- Code cleanup and style improvements
2024-10-06 06:57:11 +02:00
Serhii Snitsaruk fc26f51ff2
Implement BTInstance - runtime instance of BehaviorTree 2024-08-03 11:07:06 +02:00
Serhii Snitsaruk 792502db84
Editor: Add tab context menu option "Open owner scene" 2024-05-28 21:16:26 +02:00
Wilson E. Alvarez fb958c7c34
Add BTEvaluateExpression 2024-02-18 12:20:48 -05:00
Serhii Snitsaruk 3ce199f628 Fix GDExtension template compilation error 2024-02-03 17:59:21 +01:00
Serhii Snitsaruk c5b92aa676 Expose BehaviorTreeView for tools and in-game use 2024-02-03 16:59:51 +01:00
Serhii Snitsaruk 73f51f23ef Implement BB variable property editor 2024-01-28 17:49:38 +01:00
Serhii Snitsaruk 5fee89b00b Make blackboard improvements compatible with GDExtension 2024-01-25 19:46:27 +01:00
Serhii Snitsaruk 20a995d1d2 Rename BlackboardSource => BlackboardPlan
Because it's a better name ;)
2024-01-23 20:02:23 +01:00
Serhii Snitsaruk 8c67886b52 Parsing BlackboardSource properties 2024-01-23 15:31:56 +01:00
Serhii Snitsaruk 33b455f8d9 Add BBParam missing types 2024-01-19 17:15:22 +01:00
Serhii Snitsaruk f546e285b7 Refactor and clean up the code 2024-01-13 17:10:42 +01:00
Serhii Snitsaruk 0e37d3dfa3 Fix module compilation 2024-01-10 22:45:42 +01:00
Serhii Snitsaruk a9a38bbffb Port debugger 2024-01-09 21:47:22 +01:00
Serhii Snitsaruk 9645baeb30 Port LimboAI plugin and editor 2024-01-09 13:34:24 +01: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 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 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 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 8e3c4c7570 Add BTPauseAnimation action 2023-08-14 14:08:10 +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 557d457c1c Add BTSetAgentProperty task 2023-08-11 12:33:39 +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 2795c6dcf2 Add BTCheckVar condition task 2023-08-08 15:06:01 +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 59cb4e6579 Don't include BehaviorTreeView into non-editor builds 2023-08-01 21:19:10 +02:00
Serhii Snitsaruk 62e07e4395 Add MIT license - LimboAI is now Open Source! 2023-07-22 19:41:01 +02:00
Serhii Snitsaruk 0c2ee8ba8e Update documentation 2023-07-20 22:15:30 +02:00
Serhii Snitsaruk 5dc002098f Reorganize files and sort includes 2023-07-20 18:35:36 +02:00
Serhii Snitsaruk 62310a75df Compile BehaviorTree only into "tools" builds 2023-04-27 09:41:59 +02:00
Serhii Snitsaruk ded2ed2fef Add elapsed, timing info and improve drawing 2023-04-14 10:16:26 +02:00
Serhii Snitsaruk 9abfeadc21 Implement basics of behavior tree debugger 2023-04-13 12:46:48 +02:00
Serhii Snitsaruk 5baddc2f3e Fix release build is not able to use LimboUtility 2023-04-05 20:05:42 +02:00
Serhii Snitsaruk 2215999689 Update BBParam classes for Godot 4 2022-12-17 14:30:04 +01:00
Serhii Snitsaruk 39f504f42c Make use of GDREGISTER_* 2022-12-16 14:21:50 +01:00
Serhii Snitsaruk dbc9a7ad31 Add mostly minimal changes in order to compile and run with godot 4 2022-12-15 14:33:03 +01:00
Serhii Snitsaruk c73562a86e Add BBVariant 2022-10-25 22:01:00 +02:00
Serhii Snitsaruk 54addba8a3 Update name of parameter in editor 2022-10-20 22:53:09 +02:00
Serhii Snitsaruk 34ef7d96ea Fix bugs 2022-10-20 22:00:10 +02:00
Serhii Snitsaruk 172b90ded4 Implement BB parameters 2022-10-20 18:26:46 +02:00
Serhii Snitsaruk f4e3f162ec Implement basic BTState 2022-10-19 20:54:21 +02:00
Serhii Snitsaruk 9937f2463b Fix export templates build errors 2022-09-30 00:17:32 +02:00
Serhii Snitsaruk b7ea9145df Implement LimboHSM 2022-09-29 12:54:07 +02:00