Editor: Add setting for task palette placement

This commit is contained in:
Serhii Snitsaruk 2024-07-02 11:55:22 +02:00
parent 6432dae35d
commit 872f7a4532
No known key found for this signature in database
GPG Key ID: A965EF8799FFEC2D
2 changed files with 16 additions and 2 deletions

View File

@ -1544,9 +1544,15 @@ LimboAIEditor::LimboAIEditor() {
usage_hint->add_child(usage_label);
task_palette = memnew(TaskPalette());
hsc->set_split_offset(-300);
task_palette->hide();
hsc->add_child(task_palette);
TaskPalettePlacement palette_placement = (TaskPalettePlacement)(int)EDITOR_GET("limbo_ai/editor/task_palette_placement");
if (palette_placement == TaskPalettePlacement::LEFT_SIDE) {
hsc->move_child(task_palette, 0);
hsc->set_split_offset(300);
} else {
hsc->set_split_offset(-300);
}
change_type_popup = memnew(PopupPanel);
add_child(change_type_popup);
@ -1654,6 +1660,9 @@ LimboAIEditor::LimboAIEditor() {
GLOBAL_DEF(PropertyInfo(Variant::STRING, "limbo_ai/behavior_tree/user_task_dir_2", PROPERTY_HINT_DIR), "");
GLOBAL_DEF(PropertyInfo(Variant::STRING, "limbo_ai/behavior_tree/user_task_dir_3", PROPERTY_HINT_DIR), "");
EDITOR_DEF("limbo_ai/editor/task_palette_placement", 0);
EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::INT, "limbo_ai/editor/task_palette_placement", PROPERTY_HINT_ENUM, "Right Side:0,Left Side:1"));
String bt_default_dir = GLOBAL_GET("limbo_ai/behavior_tree/behavior_tree_default_dir");
save_dialog->set_current_dir(bt_default_dir);
load_dialog->set_current_dir(bt_default_dir);

View File

@ -26,8 +26,8 @@
#include "core/object/object.h"
#include "core/templates/hash_set.h"
#include "editor/editor_node.h"
#include "editor/plugins/editor_plugin.h"
#include "editor/gui/editor_spin_slider.h"
#include "editor/plugins/editor_plugin.h"
#include "scene/gui/box_container.h"
#include "scene/gui/control.h"
#include "scene/gui/dialogs.h"
@ -111,6 +111,11 @@ private:
TAB_CLOSE_ALL,
};
enum TaskPalettePlacement {
RIGHT_SIDE,
LEFT_SIDE,
};
struct ThemeCache {
Ref<Texture2D> duplicate_task_icon;
Ref<Texture2D> edit_script_icon;