Change to typed array in `BlackboardPlan::list_vars`
This commit is contained in:
parent
1e6c3fa92b
commit
29532113c0
|
@ -240,8 +240,8 @@ Pair<StringName, BBVariable> BlackboardPlan::get_var_by_index(int p_index) {
|
||||||
return var_list[p_index];
|
return var_list[p_index];
|
||||||
}
|
}
|
||||||
|
|
||||||
PackedStringArray BlackboardPlan::list_vars() const {
|
TypedArray<StringName> BlackboardPlan::list_vars() const {
|
||||||
PackedStringArray ret;
|
TypedArray<StringName> ret;
|
||||||
for (const Pair<StringName, BBVariable> &p : var_list) {
|
for (const Pair<StringName, BBVariable> &p : var_list) {
|
||||||
ret.append(p.first);
|
ret.append(p.first);
|
||||||
}
|
}
|
||||||
|
|
|
@ -76,7 +76,7 @@ public:
|
||||||
_FORCE_INLINE_ bool is_empty() const { return var_map.is_empty(); }
|
_FORCE_INLINE_ bool is_empty() const { return var_map.is_empty(); }
|
||||||
int get_var_count() const { return var_map.size(); }
|
int get_var_count() const { return var_map.size(); }
|
||||||
|
|
||||||
PackedStringArray list_vars() const;
|
TypedArray<StringName> list_vars() const;
|
||||||
StringName get_var_name(const BBVariable &p_var) const;
|
StringName get_var_name(const BBVariable &p_var) const;
|
||||||
bool is_valid_var_name(const StringName &p_name) const;
|
bool is_valid_var_name(const StringName &p_name) const;
|
||||||
void rename_var(const StringName &p_name, const StringName &p_new_name);
|
void rename_var(const StringName &p_name, const StringName &p_new_name);
|
||||||
|
|
|
@ -260,14 +260,14 @@ void BlackboardPlanEditor::_refresh() {
|
||||||
|
|
||||||
nodepath_prefetching->set_pressed(plan->is_prefetching_nodepath_vars());
|
nodepath_prefetching->set_pressed(plan->is_prefetching_nodepath_vars());
|
||||||
|
|
||||||
PackedStringArray names = plan->list_vars();
|
TypedArray<StringName> names = plan->list_vars();
|
||||||
int idx = 0;
|
for (int i = 0; i < names.size(); i++) {
|
||||||
for (const String &var_name : names) {
|
const String &var_name = names[i];
|
||||||
BBVariable var = plan->get_var(var_name);
|
BBVariable var = plan->get_var(var_name);
|
||||||
|
|
||||||
PanelContainer *row_panel = memnew(PanelContainer);
|
PanelContainer *row_panel = memnew(PanelContainer);
|
||||||
rows_vbox->add_child(row_panel);
|
rows_vbox->add_child(row_panel);
|
||||||
ADD_STYLEBOX_OVERRIDE(row_panel, LW_NAME(panel), idx % 2 ? theme_cache.odd_style : theme_cache.even_style);
|
ADD_STYLEBOX_OVERRIDE(row_panel, LW_NAME(panel), i % 2 ? theme_cache.odd_style : theme_cache.even_style);
|
||||||
row_panel->set_h_size_flags(Control::SIZE_EXPAND_FILL);
|
row_panel->set_h_size_flags(Control::SIZE_EXPAND_FILL);
|
||||||
|
|
||||||
HBoxContainer *props_hbox = memnew(HBoxContainer);
|
HBoxContainer *props_hbox = memnew(HBoxContainer);
|
||||||
|
@ -288,7 +288,7 @@ void BlackboardPlanEditor::_refresh() {
|
||||||
name_edit->set_placeholder(TTR("Variable name"));
|
name_edit->set_placeholder(TTR("Variable name"));
|
||||||
name_edit->set_flat(true);
|
name_edit->set_flat(true);
|
||||||
name_edit->set_custom_minimum_size(Size2(300.0, 0.0) * EDSCALE);
|
name_edit->set_custom_minimum_size(Size2(300.0, 0.0) * EDSCALE);
|
||||||
name_edit->connect(LW_NAME(text_changed), callable_mp(this, &BlackboardPlanEditor::_rename_var).bind(idx));
|
name_edit->connect(LW_NAME(text_changed), callable_mp(this, &BlackboardPlanEditor::_rename_var).bind(i));
|
||||||
name_edit->connect(LW_NAME(text_submitted), callable_mp(this, &BlackboardPlanEditor::_refresh).unbind(1));
|
name_edit->connect(LW_NAME(text_submitted), callable_mp(this, &BlackboardPlanEditor::_refresh).unbind(1));
|
||||||
|
|
||||||
Button *type_choice = memnew(Button);
|
Button *type_choice = memnew(Button);
|
||||||
|
@ -300,7 +300,7 @@ void BlackboardPlanEditor::_refresh() {
|
||||||
type_choice->set_text_overrun_behavior(TextServer::OVERRUN_TRIM_ELLIPSIS);
|
type_choice->set_text_overrun_behavior(TextServer::OVERRUN_TRIM_ELLIPSIS);
|
||||||
type_choice->set_flat(true);
|
type_choice->set_flat(true);
|
||||||
type_choice->set_text_alignment(HORIZONTAL_ALIGNMENT_LEFT);
|
type_choice->set_text_alignment(HORIZONTAL_ALIGNMENT_LEFT);
|
||||||
type_choice->connect(LW_NAME(pressed), callable_mp(this, &BlackboardPlanEditor::_show_button_popup).bind(type_choice, type_menu, idx));
|
type_choice->connect(LW_NAME(pressed), callable_mp(this, &BlackboardPlanEditor::_show_button_popup).bind(type_choice, type_menu, i));
|
||||||
|
|
||||||
Button *hint_choice = memnew(Button);
|
Button *hint_choice = memnew(Button);
|
||||||
props_hbox->add_child(hint_choice);
|
props_hbox->add_child(hint_choice);
|
||||||
|
@ -310,7 +310,7 @@ void BlackboardPlanEditor::_refresh() {
|
||||||
hint_choice->set_text_overrun_behavior(TextServer::OVERRUN_TRIM_ELLIPSIS);
|
hint_choice->set_text_overrun_behavior(TextServer::OVERRUN_TRIM_ELLIPSIS);
|
||||||
hint_choice->set_flat(true);
|
hint_choice->set_flat(true);
|
||||||
hint_choice->set_text_alignment(HORIZONTAL_ALIGNMENT_LEFT);
|
hint_choice->set_text_alignment(HORIZONTAL_ALIGNMENT_LEFT);
|
||||||
hint_choice->connect(LW_NAME(pressed), callable_mp(this, &BlackboardPlanEditor::_show_button_popup).bind(hint_choice, hint_menu, idx));
|
hint_choice->connect(LW_NAME(pressed), callable_mp(this, &BlackboardPlanEditor::_show_button_popup).bind(hint_choice, hint_menu, i));
|
||||||
|
|
||||||
LineEdit *hint_string_edit = memnew(LineEdit);
|
LineEdit *hint_string_edit = memnew(LineEdit);
|
||||||
props_hbox->add_child(hint_string_edit);
|
props_hbox->add_child(hint_string_edit);
|
||||||
|
@ -319,16 +319,14 @@ void BlackboardPlanEditor::_refresh() {
|
||||||
hint_string_edit->set_placeholder(TTR("Hint string"));
|
hint_string_edit->set_placeholder(TTR("Hint string"));
|
||||||
hint_string_edit->set_h_size_flags(Control::SIZE_EXPAND_FILL);
|
hint_string_edit->set_h_size_flags(Control::SIZE_EXPAND_FILL);
|
||||||
hint_string_edit->set_flat(true);
|
hint_string_edit->set_flat(true);
|
||||||
hint_string_edit->connect(LW_NAME(text_changed), callable_mp(this, &BlackboardPlanEditor::_change_var_hint_string).bind(idx));
|
hint_string_edit->connect(LW_NAME(text_changed), callable_mp(this, &BlackboardPlanEditor::_change_var_hint_string).bind(i));
|
||||||
hint_string_edit->connect(LW_NAME(text_submitted), callable_mp(this, &BlackboardPlanEditor::_refresh).unbind(1));
|
hint_string_edit->connect(LW_NAME(text_submitted), callable_mp(this, &BlackboardPlanEditor::_refresh).unbind(1));
|
||||||
|
|
||||||
Button *trash_button = memnew(Button);
|
Button *trash_button = memnew(Button);
|
||||||
props_hbox->add_child(trash_button);
|
props_hbox->add_child(trash_button);
|
||||||
trash_button->set_custom_minimum_size(Size2(24.0, 0.0) * EDSCALE);
|
trash_button->set_custom_minimum_size(Size2(24.0, 0.0) * EDSCALE);
|
||||||
BUTTON_SET_ICON(trash_button, theme_cache.trash_icon);
|
BUTTON_SET_ICON(trash_button, theme_cache.trash_icon);
|
||||||
trash_button->connect(LW_NAME(pressed), callable_mp(this, &BlackboardPlanEditor::_trash_var).bind(idx));
|
trash_button->connect(LW_NAME(pressed), callable_mp(this, &BlackboardPlanEditor::_trash_var).bind(i));
|
||||||
|
|
||||||
idx += 1;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -40,10 +40,9 @@ void EditorPropertyVariableName::_show_variables_popup() {
|
||||||
|
|
||||||
variables_popup->clear();
|
variables_popup->clear();
|
||||||
variables_popup->reset_size();
|
variables_popup->reset_size();
|
||||||
int idx = 0;
|
TypedArray<StringName> var_names = plan->list_vars();
|
||||||
for (String var_name : plan->list_vars()) {
|
for (int i = 0; i < var_names.size(); i++) {
|
||||||
variables_popup->add_item(var_name, idx);
|
variables_popup->add_item(var_names[i], i);
|
||||||
idx += 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Transform2D xform = name_edit->get_screen_transform();
|
Transform2D xform = name_edit->get_screen_transform();
|
||||||
|
|
Loading…
Reference in New Issue