瀏覽代碼

GDScript: Fix default value of exported enum variable

Danil Alexeev 2 年之前
父節點
當前提交
8d3e682f52
共有 1 個文件被更改,包括 9 次插入5 次删除
  1. 9 5
      modules/gdscript/gdscript_analyzer.cpp

+ 9 - 5
modules/gdscript/gdscript_analyzer.cpp

@@ -4278,11 +4278,15 @@ Variant GDScriptAnalyzer::make_variable_default_value(GDScriptParser::VariableNo
 		}
 		}
 	} else {
 	} else {
 		GDScriptParser::DataType datatype = p_variable->get_datatype();
 		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;
 			}
 			}
 		}
 		}
 	}
 	}