mirror of
https://github.com/godotengine/godot.git
synced 2025-10-19 16:03:29 +00:00
Refactored variant constructor logic
This commit is contained in:
parent
593e35346a
commit
221a2a1742
33 changed files with 1369 additions and 571 deletions
|
@ -43,7 +43,7 @@ Variant ArrayPropertyEdit::get_array() const {
|
|||
Variant arr = o->get(property);
|
||||
if (!arr.is_array()) {
|
||||
Callable::CallError ce;
|
||||
arr = Variant::construct(default_type, nullptr, 0, ce);
|
||||
Variant::construct(default_type, arr, nullptr, 0, ce);
|
||||
}
|
||||
return arr;
|
||||
}
|
||||
|
@ -107,7 +107,7 @@ bool ArrayPropertyEdit::_set(const StringName &p_name, const Variant &p_value) {
|
|||
new_type = arr.get(size - 1).get_type();
|
||||
}
|
||||
if (new_type != Variant::NIL) {
|
||||
init = Variant::construct(new_type, nullptr, 0, ce);
|
||||
Variant::construct(new_type, init, nullptr, 0, ce);
|
||||
for (int i = size; i < newsize; i++) {
|
||||
ur->add_do_method(this, "_set_value", i, init);
|
||||
}
|
||||
|
@ -136,7 +136,8 @@ bool ArrayPropertyEdit::_set(const StringName &p_name, const Variant &p_value) {
|
|||
Variant value = arr.get(idx);
|
||||
if (value.get_type() != type && type >= 0 && type < Variant::VARIANT_MAX) {
|
||||
Callable::CallError ce;
|
||||
Variant new_value = Variant::construct(Variant::Type(type), nullptr, 0, ce);
|
||||
Variant new_value;
|
||||
Variant::construct(Variant::Type(type), new_value, nullptr, 0, ce);
|
||||
UndoRedo *ur = EditorNode::get_undo_redo();
|
||||
|
||||
ur->create_action(TTR("Change Array Value Type"));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue