Переглянути джерело

Fix loading of binary resources with typed arrays

Mai Lavelle 2 роки тому
батько
коміт
87e6885f5e
1 змінених файлів з 12 додано та 0 видалено
  1. 12 0
      core/io/resource_format_binary.cpp

+ 12 - 0
core/io/resource_format_binary.cpp

@@ -832,6 +832,18 @@ Error ResourceLoaderBinary::load() {
 				}
 			}
 
+			if (value.get_type() == Variant::ARRAY) {
+				Array set_array = value;
+				bool is_get_valid = false;
+				Variant get_value = res->get(name, &is_get_valid);
+				if (is_get_valid && get_value.get_type() == Variant::ARRAY) {
+					Array get_array = get_value;
+					if (!set_array.is_same_typed(get_array)) {
+						value = Array(set_array, get_array.get_typed_builtin(), get_array.get_typed_class_name(), get_array.get_typed_script());
+					}
+				}
+			}
+
 			if (set_valid) {
 				res->set(name, value);
 			}