Ensure C# script properties are added to the end
Ensures that the `get_property_list` and `get_script_property_list` methods push the script properties to the end of the given list, this prevents the script property from appearing after the script variables.
This commit is contained in:
parent
6b0b1a4c04
commit
2913c32db5
|
@ -1813,8 +1813,9 @@ void CSharpInstance::get_event_signals_state_for_reloading(List<Pair<StringName,
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSharpInstance::get_property_list(List<PropertyInfo> *p_properties) const {
|
void CSharpInstance::get_property_list(List<PropertyInfo> *p_properties) const {
|
||||||
|
List<PropertyInfo> props;
|
||||||
for (OrderedHashMap<StringName, PropertyInfo>::ConstElement E = script->member_info.front(); E; E = E.next()) {
|
for (OrderedHashMap<StringName, PropertyInfo>::ConstElement E = script->member_info.front(); E; E = E.next()) {
|
||||||
p_properties->push_front(E.value());
|
props.push_front(E.value());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Call _get_property_list
|
// Call _get_property_list
|
||||||
|
@ -1837,15 +1838,19 @@ void CSharpInstance::get_property_list(List<PropertyInfo> *p_properties) const {
|
||||||
if (ret) {
|
if (ret) {
|
||||||
Array array = Array(GDMonoMarshal::mono_object_to_variant(ret));
|
Array array = Array(GDMonoMarshal::mono_object_to_variant(ret));
|
||||||
for (int i = 0, size = array.size(); i < size; i++) {
|
for (int i = 0, size = array.size(); i < size; i++) {
|
||||||
p_properties->push_back(PropertyInfo::from_dict(array.get(i)));
|
props.push_back(PropertyInfo::from_dict(array.get(i)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
top = top->get_parent_class();
|
top = top->get_parent_class();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (const PropertyInfo &prop : props) {
|
||||||
|
p_properties->push_back(prop);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Variant::Type CSharpInstance::get_property_type(const StringName &p_name, bool *r_is_valid) const {
|
Variant::Type CSharpInstance::get_property_type(const StringName &p_name, bool *r_is_valid) const {
|
||||||
|
@ -3499,8 +3504,14 @@ Ref<Script> CSharpScript::get_base_script() const {
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSharpScript::get_script_property_list(List<PropertyInfo> *r_list) const {
|
void CSharpScript::get_script_property_list(List<PropertyInfo> *r_list) const {
|
||||||
|
List<PropertyInfo> props;
|
||||||
|
|
||||||
for (OrderedHashMap<StringName, PropertyInfo>::ConstElement E = member_info.front(); E; E = E.next()) {
|
for (OrderedHashMap<StringName, PropertyInfo>::ConstElement E = member_info.front(); E; E = E.next()) {
|
||||||
r_list->push_front(E.value());
|
props.push_front(E.value());
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const PropertyInfo &prop : props) {
|
||||||
|
r_list->push_back(prop);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue