|
@@ -278,12 +278,12 @@ class Library {
|
|
|
#if hide
|
|
|
if( (props:Dynamic).__ref != null ) {
|
|
|
try {
|
|
|
- setupMaterialLibrary(mat, hxd.res.Loader.currentInstance.load((props:Dynamic).__ref).toPrefab(), (props:Dynamic).name);
|
|
|
+ if ( setupMaterialLibrary(mat, hxd.res.Loader.currentInstance.load((props:Dynamic).__ref).toPrefab(), (props:Dynamic).name) )
|
|
|
+ return mat;
|
|
|
} catch( e : hxd.res.NotFound ) {
|
|
|
e.path += " (in "+resource.entry.path+"@"+mat.name+")";
|
|
|
throw e;
|
|
|
}
|
|
|
- return mat;
|
|
|
}
|
|
|
#end
|
|
|
if( m.diffuseTexture != null ) {
|
|
@@ -745,7 +745,9 @@ class Library {
|
|
|
|
|
|
#if hide
|
|
|
public dynamic static function setupMaterialLibrary( mat : h3d.mat.Material, lib : hrt.prefab.Resource, name : String ) {
|
|
|
- var m = lib.load().get(hrt.prefab.Material,name);
|
|
|
+ var m = lib.load().getOpt(hrt.prefab.Material,name);
|
|
|
+ if ( m == null )
|
|
|
+ return false;
|
|
|
@:privateAccess m.update(mat, m.renderProps(),
|
|
|
function loadTexture ( path : String ) {
|
|
|
return hxd.res.Loader.currentInstance.load(path).toTexture();
|
|
@@ -759,6 +761,7 @@ class Library {
|
|
|
var s = shader.makeShader(ctx);
|
|
|
@:privateAccess shader.applyShader(null, mat, s);
|
|
|
}
|
|
|
+ return true;
|
|
|
}
|
|
|
#end
|
|
|
|