Преглед изворни кода

tools: do not load prefab if the unit has none

Daniele Bartolini пре 6 година
родитељ
комит
ed139cdbb4
1 измењених фајлова са 5 додато и 2 уклоњено
  1. 5 2
      tools/level_editor/level.vala

+ 5 - 2
tools/level_editor/level.vala

@@ -429,14 +429,17 @@ namespace Crown
 
 			Database prefab_db = new Database();
 
+			// Try to load from toolchain directory first
 			File file = File.new_for_path(_project.toolchain_dir() + "/" + name + ".unit");
 			if (file.query_exists())
 				prefab_db.load(file.get_path());
 			else
 				prefab_db.load(_project.source_dir() + "/" + name + ".unit");
 
-			if (prefab_db.has_property(GUID_ZERO, "prefab"))
-				load_prefab((prefab_db.get_property_string(GUID_ZERO, "prefab")));
+			// Recursively load all sub-prefabs
+			Value? prefab = prefab_db.get_property(GUID_ZERO, "prefab");
+			if (prefab != null)
+				load_prefab((string)prefab);
 
 			prefab_db.copy_to(_prefabs, name);
 			_loaded_prefabs.add(name);