瀏覽代碼

Check whether resource exists

Daniele Bartolini 9 年之前
父節點
當前提交
c53a1bb17a
共有 1 個文件被更改,包括 8 次插入0 次删除
  1. 8 0
      src/resource/unit_compiler.cpp

+ 8 - 0
src/resource/unit_compiler.cpp

@@ -116,6 +116,10 @@ static Buffer compile_mesh_renderer(const char* json, CompileOptions& opts)
 	JsonObject obj(ta);
 	sjson::parse(json, obj);
 
+	DynamicString mesh_resource(ta);
+	sjson::parse_string(obj["mesh_resource"], mesh_resource);
+	RESOURCE_COMPILER_ASSERT_RESOURCE_EXISTS(RESOURCE_EXTENSION_MESH, mesh_resource.c_str(), opts);
+
 	MeshRendererDesc mrd;
 	mrd.mesh_resource     = sjson::parse_resource_id(obj["mesh_resource"]);
 	mrd.geometry_name     = sjson::parse_string_id  (obj["geometry_name"]);
@@ -133,6 +137,10 @@ static Buffer compile_sprite_renderer(const char* json, CompileOptions& opts)
 	JsonObject obj(ta);
 	sjson::parse(json, obj);
 
+	DynamicString resource(ta);
+	sjson::parse_string(obj["resource"], resource);
+	RESOURCE_COMPILER_ASSERT_RESOURCE_EXISTS(RESOURCE_EXTENSION_SPRITE, resource.c_str(), opts);
+
 	SpriteRendererDesc srd;
 	srd.sprite_resource   = sjson::parse_resource_id(obj["resource"]);
 	srd.material_resource = sjson::parse_resource_id(obj["material"]);