GDScript: Fix default value of exported enum variable

This commit is contained in:
Danil Alexeev 2023-02-14 18:07:50 +03:00
parent 8c7b98d452
commit 8d3e682f52
No known key found for this signature in database
GPG Key ID: 124453E157DA8DC7
1 changed files with 9 additions and 5 deletions

View File

@ -4278,11 +4278,15 @@ Variant GDScriptAnalyzer::make_variable_default_value(GDScriptParser::VariableNo
}
} else {
GDScriptParser::DataType datatype = p_variable->get_datatype();
if (datatype.is_hard_type() && datatype.kind == GDScriptParser::DataType::BUILTIN && datatype.builtin_type != Variant::OBJECT) {
if (datatype.builtin_type == Variant::ARRAY && datatype.has_container_element_type()) {
result = make_array_from_element_datatype(datatype.get_container_element_type());
} else {
VariantInternal::initialize(&result, datatype.builtin_type);
if (datatype.is_hard_type()) {
if (datatype.kind == GDScriptParser::DataType::BUILTIN && datatype.builtin_type != Variant::OBJECT) {
if (datatype.builtin_type == Variant::ARRAY && datatype.has_container_element_type()) {
result = make_array_from_element_datatype(datatype.get_container_element_type());
} else {
VariantInternal::initialize(&result, datatype.builtin_type);
}
} else if (datatype.kind == GDScriptParser::DataType::ENUM) {
result = 0;
}
}
}