瀏覽代碼

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) {
 			if (set_valid) {
 				res->set(name, value);
 				res->set(name, value);
 			}
 			}