Commit Graph

295 Commits

Author SHA1 Message Date
Serhii Snitsaruk 17a480ed19 Utilize space better with BBParam property editor
For types that need more space, the bottom editor will be used instead. In effect also for string parameters with @export_multiline.
2024-01-15 21:57:31 +01:00
Serhii Snitsaruk 61790085cc Fix editor shortcuts not working 2024-01-14 23:50:35 +01:00
Serhii Snitsaruk 80781db7cd Fix compilation issues related to open_doc_*() 2024-01-14 16:54:08 +01:00
Serhii Snitsaruk cbbc0b0135 Link to online docs in the code 2024-01-13 22:40:27 +01:00
Serhii Snitsaruk f546e285b7 Refactor and clean up the code 2024-01-13 17:10:42 +01:00
Serhii Snitsaruk 21b5053b72 Rename window wrapper 2024-01-11 15:38:29 +01:00
Serhii Snitsaruk 52f218e6b9 Don't compile editor classes into template builds 2024-01-11 11:22:02 +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 ac3da5ab90 Handle resource reloading (or for GDExtension - don't) 2024-01-10 20:00:04 +01:00
Serhii Snitsaruk 8e9cc74857 Fix: User icons are not showing in the task palette 2024-01-10 19:16:43 +01:00
Serhii Snitsaruk 59537138bc Fix: Create script template not working as expected 2024-01-10 15:23:04 +01:00
Serhii Snitsaruk a8dc78765b Restore icons 2024-01-10 01:17:09 +01:00
Serhii Snitsaruk 960f04b0ab Fix Forward button icon and crash 2024-01-10 00:02:24 +01:00
Serhii Snitsaruk c1d0353798 Don't show "Open debugger" in GDExtension 2024-01-09 21:59:09 +01:00
Serhii Snitsaruk a9a38bbffb Port debugger 2024-01-09 21:47:22 +01:00
Serhii Snitsaruk d1030b877c Project config file macro 2024-01-09 15:23:02 +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 bb346ef5f2 Port TaskTree 2024-01-07 21:20:51 +01:00
Serhii Snitsaruk 97daa29eda Port TaskPalette
Not even sure if it works, since I need other bits before I test it.
2024-01-07 17:33:05 +01:00
Serhii Snitsaruk 73497b1908 Port ModSwitchButton 2024-01-07 13:45:27 +01:00
Serhii Snitsaruk f9ad9cc794 Port ActionBanner 2024-01-07 13:36:59 +01:00
Serhii Snitsaruk 3d86a76db9 Port BehaviorTreeView 2024-01-07 06:51:34 +01:00
Serhii Snitsaruk 0767c0eee1 Port BTPlayer and LimboDebugger (game-side part) 2024-01-07 02:40:51 +01: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 35f1dabe93 Editor: Add "Extract Subtree" action
Supports undo-redo, but it doesn't remove the newly created file automatically.
2023-12-17 15:24:38 +01:00
Serhii Snitsaruk a2a2ba1f7b TaskPalette: Shift+Click to add task after the selected and on the same level as the selected task. 2023-12-17 14:26:38 +01:00
Serhii Snitsaruk c20e0dfc2d Don't focus on buttons in Task Palette 2023-12-17 13:59:03 +01:00
Serhii Snitsaruk 9abf8a084f Fix debugger's "elapsed" column not always has enough space for decimals
Closes #5.
2023-12-16 11:12:47 +01:00
Serhii Snitsaruk ed72784766 Add a header label for "Change Type" popup 2023-12-14 23:51:48 +01:00
Serhii Snitsaruk 08a8ef9c77 Disable some task palette functionality when it is in dialog mode 2023-12-14 23:38:02 +01:00
Serhii Snitsaruk f94aca4433 Add "Change Type" popup and menu action 2023-12-14 23:18:44 +01:00
Serhii Snitsaruk fb8585282d Debugger: Add the resource header control with a path to the BehaviorTree for the currently debugged instance. 2023-12-12 23:37:28 +01:00
Serhii Snitsaruk dfa332490a Add object(resource) support for variant param editor 2023-12-10 16:32:41 +01:00
Serhii Snitsaruk 678df76c65 Hide type choice when editing variable name 2023-12-10 15:58:57 +01:00
Serhii Snitsaruk 2fc5732ed8 Fix param type button not updated when property is reset 2023-12-10 15:50:03 +01:00
Serhii Snitsaruk 949583a6b4 Change type choice position, appearance and tooltip 2023-12-10 14:51:52 +01:00
Serhii Snitsaruk 106abe0b5a Add support for variant param editing and fix bug with ModeSwitchButton 2023-12-10 14:35:28 +01:00
Serhii Snitsaruk 7bce63fbcb Remove separation in param editor 2023-12-09 21:28:20 +01:00
Serhii Snitsaruk 91ed8bfe3d Implement mode switch button for BB parameters 2023-12-09 19:31:51 +01:00
Serhii Snitsaruk b4bef31df5 Add property editor for blackboard parameters 2023-12-08 21:56:14 +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 52a8dc2a0b Merge branch 'godot42' 2023-10-30 10:26:40 +01:00
Serhii Snitsaruk dca3ba38c0 Fix error when trying to add fav task while no BT is edited 2023-10-29 13:45:32 +01:00
Serhii Snitsaruk f9f930133f Fix Script includes 2023-10-28 13:09:03 +02:00
Serhii Snitsaruk bf91be1ff1 Fix StyleBoxFlat includes 2023-10-28 13:08:26 +02:00
Serhii Snitsaruk 2b13c24277 Add "Introduction" menu item linking to BehaviorTree doc 2023-10-24 15:44:18 +02:00
Serhii Snitsaruk 0c325e3660 Increase help tooltip maximum characters to 1400 2023-09-28 13:57:27 +02:00
Serhii Snitsaruk 953d98f89c Add probability icon 2023-09-26 16:28:53 +02:00
Serhii Snitsaruk b5a44c0807 Fix BTProbabilitySelector showing probability for comments 2023-09-26 16:28:47 +02:00
Serhii Snitsaruk 27254581a4 Fix Probability popup stuck with ghost value 2023-09-26 11:10:23 +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 22d82d7c02 Fix "Edit Script" in task palette not switching workspace 2023-09-20 10:32:38 +02:00
Serhii Snitsaruk e7687d7a57 Update demo and remove debug prints 2023-09-19 15:29:29 +02:00
Serhii Snitsaruk 9a4fd8ad12 Update script template 2023-09-19 15:29:29 +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 a625173786 Cache theme items at LimboDebuggerPluggin 2023-08-29 12:54:38 +02:00
Serhii Snitsaruk 8dd61357da Cache theme items in TaskPalette 2023-08-29 12:44:40 +02:00
Serhii Snitsaruk 235d596e59 Cache theme items in LimboAIEditor 2023-08-29 12:44:40 +02:00
Serhii Snitsaruk e794436c69 Cache theme items in TaskTree 2023-08-29 12:44:40 +02:00
Serhii Snitsaruk 4ff1b874f3 Assign "bold" font to tasks with custom name set in BT debugger
Also, fixes resources used without Ref in debugger view.
2023-08-29 12:44:31 +02:00
Serhii Snitsaruk 5a0ff91658 Fix task disappearing on drag & drop 2023-08-28 16:22:44 +02:00
Serhii Snitsaruk df92ea02f0 Remove hard-coded BTComment from toolbar and add it to favorite default instead 2023-08-28 13:23:25 +02:00
Serhii Snitsaruk e73d4b0959 TaskPalette: Remember filter settings in a project config.
Also, fixes ConfigFile usage without Ref.
2023-08-28 11:39:56 +02:00
Serhii Snitsaruk 60f1d12246 Add: Filter button pressed state reflects filter settings 2023-08-27 12:22:49 +02:00
Serhii Snitsaruk 8341396640 Fixes to filter popup and task palette 2023-08-26 19:42:17 +02:00
Serhii Snitsaruk a601d44517 TaskPalette filter: Add background for category list 2023-08-26 16:57:18 +02:00
Serhii Snitsaruk 62f964474c Filter tasks in TaskPalette by category and type 2023-08-26 15:41:11 +02:00
Serhii Snitsaruk 0bd60bae88 Extract TaskTree code 2023-08-26 10:24:08 +02:00
Serhii Snitsaruk cff4626b2d Extract TaskPanel code => TaskPalette 2023-08-26 10:08:01 +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 f489744755 Fix: Pressing keys after editor starts result in errors printed.
"scene/main/node.cpp:1748 - Parameter "p_node" is null."
2023-08-23 16:32:02 +02:00
Serhii Snitsaruk 067f73e11e Add documentation tooltips for tasks in the panel 2023-08-23 13:06:18 +02:00
Serhii Snitsaruk 2fdcff4886 Show tasks without category in "Uncategorized" section 2023-08-22 15:20:24 +02:00
Serhii Snitsaruk e2d596d44a Show warning banner when favorite task is not found 2023-08-22 14:43:45 +02:00
Serhii Snitsaruk 24678e4332 Implement ActionBanner class for actionable editor alerts 2023-08-22 12:20:09 +02:00
Serhii Snitsaruk 4942173e5b Implement "User task folder doesn't exist" warning 2023-08-21 18:17:34 +02:00
Serhii Snitsaruk b33b0c6993 Add "Refresh" button to TaskPanel 2023-08-21 15:51:18 +02:00
Serhii Snitsaruk 00ed65f0fb Use ProjectSettings path for script templates 2023-08-21 15:27:30 +02:00
Serhii Snitsaruk 4cabbc6082 Implement "Misc->Create Script Template" 2023-08-21 14:57:34 +02:00
Serhii Snitsaruk 1cb3b64a29 Add "Misc>Project Settings..." menu option 2023-08-21 11:51:19 +02:00
Serhii Snitsaruk 79c71d06f5 Add global shortcut for "Open Debugger" menu option 2023-08-20 11:49:33 +02:00
Serhii Snitsaruk 2afdb4bc95 Add "Open Debugger" menu option and "Misc" menu 2023-08-20 11:34:13 +02:00
Serhii Snitsaruk e851011678 Rename dialog now says "Edit comment" for comments 2023-08-19 13:12:24 +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 107b94fad6 Emphasize tasks with custom name set 2023-08-18 18:53:55 +02:00
Serhii Snitsaruk 5c3445236f Implement: Add/Remove task favorites
Favorite tasks are tasks selected to be shown on the toolbar.
Order can be edited in the project settings.
2023-08-18 13:24:53 +02:00
Serhii Snitsaruk b3dedc737e Add a popup menu for tasks in the TaskPanel
Adds such menu items (similar to task popup menu):
- Edit Script
- Open Documentation
2023-08-17 18:14:24 +02:00
Serhii Snitsaruk 985c4812f3 Editor: Add "Open Documentation" popup menu option 2023-08-17 15:29:12 +02:00
Serhii Snitsaruk a2b123a9be Editor: Add "Edit Script" popup menu option 2023-08-17 11:41:40 +02:00
Serhii Snitsaruk 03d5de1482 Add keyboard shortcuts for most editor actions 2023-08-16 16:07:04 +02:00
Serhii Snitsaruk 8d89f80d6b Handle theme change in the LimboAI editor
Also fixes warning: "Attempting to access theme items too early".
2023-08-16 11:19:51 +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 e2b0bd91e2 Debugger: Add making debugger window floating 2023-08-02 12:13:00 +02:00
Serhii Snitsaruk 6699fa0627 Fix errors with compiling on windows 2023-07-29 09:40:38 +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 1a1a9cb57d Don't compile debugger plugin for non-tools builds 2023-04-16 11:30:31 +02:00
Serhii Snitsaruk 2156a2e31c Fix support for user script class icons 2023-04-16 08:26:47 +02:00
Serhii Snitsaruk 9abfeadc21 Implement basics of behavior tree debugger 2023-04-13 12:46:48 +02:00
Serhii Snitsaruk 9344bce9b1 Update and improve class documentation 2023-04-11 09:02:16 +02:00
Serhii Snitsaruk ec2fd2b143 Fix drag&drop broken 2023-04-06 23:54:56 +02:00
Serhii Snitsaruk eeac45b91f Fix latest API issues 2023-03-02 15:41:01 +01:00
Serhii Snitsaruk 48f8918811 Add UndoRedo support for the BT editor 2022-12-22 13:19:39 +01:00
Serhii Snitsaruk 8f1824fd9e Refactor LimboAI editor 2022-12-19 12:38:40 +01: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 36bae84125 Fix rename dialog broken 2022-12-17 13:39:37 +01:00
Serhii Snitsaruk c574334f6e Cleanup and optimizations 2022-12-15 19:23:03 +01:00
Serhii Snitsaruk d861a52833 Add placeholder text for filter edit 2022-12-15 18:44:42 +01:00
Serhii Snitsaruk 3d1873e329 Fix popup menu getting bad position 2022-12-15 18:29:22 +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 71201a7389 Add placeholder text to rename dialog 2022-11-23 21:19:23 +01:00
Serhii Snitsaruk fe2cf00c6c Add task rename dialog 2022-11-23 16:25:32 +01:00
Serhii Snitsaruk 5378337064 Remember TaskPanel's collapsed sections 2022-11-23 01:04:35 +01:00
Serhii Snitsaruk ce2041391a Update header when clicked 2022-11-22 22:58:53 +01:00
Serhii Snitsaruk 81e672b4d2 Add reload and resave dialog when BT resource files change externally 2022-11-22 21:00:08 +01:00
Serhii Snitsaruk 1bc8484454 Fix bugs 2022-11-01 14:03:20 +01:00
Serhii Snitsaruk cc49834994 Fix bugs in loading user tasks 2022-10-30 12:33:38 +01:00
Serhii Snitsaruk db0c903ca8 Handle user categories and fix bad script crash 2022-10-29 01:50:47 +02:00
Serhii Snitsaruk c6a9ea5948 Add editor icon 2022-10-19 21:02:46 +02:00
Serhii Snitsaruk 3f04ff2eb4 Save/load editor config values
Only HSplitContainer split_offset is kept at the moment.
2022-09-06 13:28:25 +02:00
Serhii Snitsaruk afbf095d1b Fix crash on Save pressed with no bt edited 2022-09-06 13:08:27 +02:00
Serhii Snitsaruk 507dc8d850 Edit bt via inspector and add usage panel 2022-09-05 21:57:24 +02:00
Serhii Snitsaruk 7eff8d5488 Refresh task panel on visibility change 2022-09-05 17:56:38 +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 490a419f0e Add Create New Task action 2022-09-05 13:31:38 +02:00
Serhii Snitsaruk 3de4847a89 Add default dir for behavior trees 2022-09-05 13:11:47 +02:00
Serhii Snitsaruk 1770c23553 Handle task_changed
Update task tree item when selected task resource is changed.
2022-09-03 17:13:15 +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 29fab3a8d8 Fix: Quick tasks broken 2022-09-03 14:11:47 +02:00
Serhii Snitsaruk b42cfa4330 Fix: Duplicate should put new task after the prototype 2022-09-03 14:11:03 +02:00
Serhii Snitsaruk ffd0d943f1 Add auto-saving and dirty marking 2022-09-03 14:01:13 +02:00
Serhii Snitsaruk a2313d9a14 Show configuration warnings in editor 2022-09-03 13:11:50 +02:00
Serhii Snitsaruk 6e1f9ad4ac Keep user task directory prefs in project setting 2022-09-03 12:59:11 +02:00
Serhii Snitsaruk c9d92610a0 Prototype loading user tasks 2022-09-03 00:10:22 +02:00
Serhii Snitsaruk 881b9118e4 Dynamic task sections 2022-09-02 19:30:32 +02:00
Serhii Snitsaruk 30f3df0649 Add history and navigation 2022-09-02 15:43:54 +02:00
Serhii Snitsaruk f00d4d0233 Add task panel 2022-09-02 14:25:03 +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