Refresh task panel on visibility change
This commit is contained in:
parent
026ff26ab3
commit
7eff8d5488
|
@ -344,9 +344,13 @@ void TaskPanel::_on_filter_text_changed(String p_text) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TaskPanel::_init() {
|
void TaskPanel::refresh() {
|
||||||
filter_edit->set_right_icon(get_icon("Search", "EditorIcons"));
|
filter_edit->set_right_icon(get_icon("Search", "EditorIcons"));
|
||||||
|
|
||||||
|
for (int i = 0; i < sections->get_child_count(); i++) {
|
||||||
|
sections->get_child(i)->queue_delete();
|
||||||
|
}
|
||||||
|
|
||||||
HashMap<String, List<String>> categories;
|
HashMap<String, List<String>> categories;
|
||||||
|
|
||||||
categories["Composite"] = List<String>();
|
categories["Composite"] = List<String>();
|
||||||
|
@ -423,7 +427,7 @@ void TaskPanel::_populate_scripted_tasks_from_dir(String p_path, List<String> *p
|
||||||
}
|
}
|
||||||
|
|
||||||
void TaskPanel::_bind_methods() {
|
void TaskPanel::_bind_methods() {
|
||||||
ClassDB::bind_method(D_METHOD("_init"), &TaskPanel::_init);
|
ClassDB::bind_method(D_METHOD("refresh"), &TaskPanel::refresh);
|
||||||
ClassDB::bind_method(D_METHOD("_on_task_button_pressed"), &TaskPanel::_on_task_button_pressed);
|
ClassDB::bind_method(D_METHOD("_on_task_button_pressed"), &TaskPanel::_on_task_button_pressed);
|
||||||
ClassDB::bind_method(D_METHOD("_on_filter_text_changed"), &TaskPanel::_on_filter_text_changed);
|
ClassDB::bind_method(D_METHOD("_on_filter_text_changed"), &TaskPanel::_on_filter_text_changed);
|
||||||
|
|
||||||
|
@ -450,8 +454,6 @@ TaskPanel::TaskPanel(EditorNode *p_editor) {
|
||||||
sc->add_child(sections);
|
sc->add_child(sections);
|
||||||
sections->set_h_size_flags(SIZE_EXPAND_FILL);
|
sections->set_h_size_flags(SIZE_EXPAND_FILL);
|
||||||
sections->set_v_size_flags(SIZE_EXPAND_FILL);
|
sections->set_v_size_flags(SIZE_EXPAND_FILL);
|
||||||
|
|
||||||
call_deferred("_init");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TaskPanel::~TaskPanel() {
|
TaskPanel::~TaskPanel() {
|
||||||
|
@ -657,6 +659,8 @@ void LimboAIEditor::_on_visibility_changed() const {
|
||||||
} else {
|
} else {
|
||||||
editor->edit_resource(task_tree->get_bt());
|
editor->edit_resource(task_tree->get_bt());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
task_panel->refresh();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -895,7 +899,7 @@ LimboAIEditor::LimboAIEditor(EditorNode *p_editor) {
|
||||||
task_tree->connect("visibility_changed", this, "_on_visibility_changed");
|
task_tree->connect("visibility_changed", this, "_on_visibility_changed");
|
||||||
task_tree->connect("task_dragged", this, "_on_task_dragged");
|
task_tree->connect("task_dragged", this, "_on_task_dragged");
|
||||||
|
|
||||||
TaskPanel *task_panel = memnew(TaskPanel(p_editor));
|
task_panel = memnew(TaskPanel(p_editor));
|
||||||
hsc->add_child(task_panel);
|
hsc->add_child(task_panel);
|
||||||
hsc->set_split_offset(-300);
|
hsc->set_split_offset(-300);
|
||||||
task_panel->connect("task_selected", this, "_on_panel_task_selected");
|
task_panel->connect("task_selected", this, "_on_panel_task_selected");
|
||||||
|
|
|
@ -83,7 +83,6 @@ private:
|
||||||
LineEdit *filter_edit;
|
LineEdit *filter_edit;
|
||||||
VBoxContainer *sections;
|
VBoxContainer *sections;
|
||||||
|
|
||||||
void _init();
|
|
||||||
void _populate_core_tasks_from_class(const StringName &p_base_class, List<String> *p_task_classes);
|
void _populate_core_tasks_from_class(const StringName &p_base_class, List<String> *p_task_classes);
|
||||||
void _populate_scripted_tasks_from_dir(String p_path, List<String> *p_task_classes);
|
void _populate_scripted_tasks_from_dir(String p_path, List<String> *p_task_classes);
|
||||||
void _on_task_button_pressed(const StringName &p_task);
|
void _on_task_button_pressed(const StringName &p_task);
|
||||||
|
@ -93,6 +92,8 @@ protected:
|
||||||
static void _bind_methods();
|
static void _bind_methods();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
void refresh();
|
||||||
|
|
||||||
TaskPanel(EditorNode *p_editor);
|
TaskPanel(EditorNode *p_editor);
|
||||||
~TaskPanel();
|
~TaskPanel();
|
||||||
};
|
};
|
||||||
|
@ -121,6 +122,7 @@ private:
|
||||||
FileDialog *load_dialog;
|
FileDialog *load_dialog;
|
||||||
Button *history_back;
|
Button *history_back;
|
||||||
Button *history_forward;
|
Button *history_forward;
|
||||||
|
TaskPanel *task_panel;
|
||||||
|
|
||||||
void _add_task(const Ref<BTTask> &p_task);
|
void _add_task(const Ref<BTTask> &p_task);
|
||||||
_FORCE_INLINE_ void _add_task_with_prototype(const Ref<BTTask> &p_prototype) { _add_task(p_prototype->clone()); }
|
_FORCE_INLINE_ void _add_task_with_prototype(const Ref<BTTask> &p_prototype) { _add_task(p_prototype->clone()); }
|
||||||
|
|
Loading…
Reference in New Issue