Commit Graph

136 Commits

Author SHA1 Message Date
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
Serhii Snitsaruk 6699fa0627 Fix errors with compiling on windows 2023-07-29 09:40:38 +02:00
Serhii Snitsaruk 7906a493ef BTTask: Don't show `elapsed_time` in inspector. 2023-07-27 13:52:29 +02:00
Serhii Snitsaruk 62e07e4395 Add MIT license - LimboAI is now Open Source! 2023-07-22 19:41:01 +02:00
Serhii Snitsaruk d2eede3f76 Fix shadowing members in the module 2023-07-20 20:10:02 +02:00
Serhii Snitsaruk 5dc002098f Reorganize files and sort includes 2023-07-20 18:35:36 +02:00
Serhii Snitsaruk 5c0c359832 Debugger: Add performance monitoring 2023-04-15 15:49:34 +02:00
Serhii Snitsaruk 29d994f3a0 Debugger: Use warning icon for alerts 2023-04-15 10:53:57 +02:00
Serhii Snitsaruk a6a11f56d9 Fix physics process_mode using wrong delta 2023-04-14 10:17:08 +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 348aa4f750 Use double instead of float when dealing with time 2023-04-10 10:08:11 +02:00
Serhii Snitsaruk 6fc97c43cd Fix precision issues for _generate_name() tasks 2023-04-10 07:54:02 +02:00
Serhii Snitsaruk ef7480b054 Fix editor crash related to bt resource reloading 2022-12-19 10:29:46 +01:00
Serhii Snitsaruk d5088a9f20 Implement pascal case auto naming for tasks without _generate_name() 2022-12-17 21:18:11 +01:00
Serhii Snitsaruk 370efcba73 Refactor composite and decorator classes 2022-12-17 11:47:10 +01:00
Serhii Snitsaruk 3693c3fc50 Refactor BTAction classes 2022-12-17 11:26:48 +01:00
Serhii Snitsaruk 0ba36cb3dd Refactor BTTask class 2022-12-17 08:33:18 +01:00
Serhii Snitsaruk c67216c1e1 Refactor BTPlayer and BTState 2022-12-16 15:29:36 +01:00
Serhii Snitsaruk 0bb03c2b4c Clean and improve BehaviorTree resource class 2022-12-16 14:29:14 +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 5220c1c6e7 Fix _get_configuration_warning() is not called for scripts 2022-11-22 23:15:48 +01:00
Serhii Snitsaruk 8d3249d8a8 Add small improvements 2022-11-04 13:26:49 +01:00
Serhii Snitsaruk f9f2a67bbf Fix BTParallel getting stuck when repeat=false and criterea are not met 2022-11-03 17:01:26 +01:00
Serhii Snitsaruk 08bb63ad26 Add documentation and improvements for BTTask
Fixed: BTTask chidren property, setter and getter are exposed in editor
2022-11-02 19:53:37 +01:00
Serhii Snitsaruk 1bc8484454 Fix bugs 2022-11-01 14:03:20 +01:00
Serhii Snitsaruk 40cb7891c7 Fix BTTask status property exposed 2022-10-30 14:15:29 +01:00
Serhii Snitsaruk 46ec4069b5 Duplicate dictionary data 2022-10-27 01:51:29 +02:00
Serhii Snitsaruk b68dc0a36a Fix bugs 2022-10-26 23:12:29 +02:00
Serhii Snitsaruk 7ec38e0988 Add set_agent() 2022-10-25 00:47:22 +02:00
Serhii Snitsaruk d359f620e3 Make BBParam properties unique @clone() 2022-10-21 16:15:13 +02:00
Serhii Snitsaruk 34ef7d96ea Fix bugs 2022-10-20 22:00:10 +02:00
Serhii Snitsaruk 36ff3a724f Remove blackboard management from BTState 2022-10-19 23:41:56 +02:00
Serhii Snitsaruk f4e3f162ec Implement basic BTState 2022-10-19 20:54:21 +02:00
Serhii Snitsaruk c43fac596c Handle NodePath vars 2022-10-19 16:01:16 +02:00
Serhii Snitsaruk 9937f2463b Fix export templates build errors 2022-09-30 00:17:32 +02:00
Serhii Snitsaruk 3f47f2bf76 Add ForEach decorator 2022-09-22 13:09:49 +02:00
Serhii Snitsaruk 7be7ca276d Add instancing to behavior tree 2022-09-21 16:13:17 +02:00
Serhii Snitsaruk 6cac198092 Fix Cooldown broken 2022-09-21 12:37:38 +02:00
Serhii Snitsaruk 8b1b0dd754 Fix decorator having no children crash 2022-09-21 12:37:19 +02:00
Serhii Snitsaruk a3cac93174 Add NewScope and refactor Subtree 2022-09-20 19:15:48 +02:00
Serhii Snitsaruk e4f92893a1 Add Blackboard class with support for scopes 2022-09-08 15:56:51 +02:00
Serhii Snitsaruk 5a8442d5a0 Add BTConsolePrint task 2022-09-06 13:08:52 +02:00
Serhii Snitsaruk 026ff26ab3 Use single function to get task icon in the editor 2022-09-05 16:39:40 +02:00
Serhii Snitsaruk 8e45a4d38a Fix _generate_name fails without reporting an error if script is not a tool script 2022-09-05 16:31:48 +02:00
Serhii Snitsaruk 29dcabedf4 BTPlayer: Fix owner bug and export blackboard 2022-09-05 16:30:41 +02:00
Serhii Snitsaruk 18746dc7c2 Fix: sequence and selector working like dynamic 2022-09-05 15:08:35 +02:00
Serhii Snitsaruk ec9eec4120 Add BTSubtree action 2022-09-03 20:42:38 +02:00
Serhii Snitsaruk aefa132290 Add drag and drop.
Rearrange tasks with drag and drop in editor.
2022-09-03 17:00:20 +02:00
Serhii Snitsaruk 552185dc07 Fix script being disowned 2022-09-03 00:08:10 +02:00
Serhii Snitsaruk 4c580c6b1d Add Editor functionality (rudimentary)
* Adding fav tasks
* Saving/loading
* Popup menu with a number of functions
* Header

Also:
* BTTask: Fix broken get_icon()
* BTTask: Initialize parent during set_children()
2022-09-02 00:20:37 +02:00
Serhii Snitsaruk d128bdf8f6 Bind signal - BTPlayer 2022-08-31 17:50:49 +02:00
Serhii Snitsaruk 3393ed24d7 Reorganize files 2022-08-31 17:05:25 +02:00