Bladeren bron

[material] Auto reload modelData cache in editor

Clément Espeute 9 maanden geleden
bovenliggende
commit
ddf80ed678
1 gewijzigde bestanden met toevoegingen van 15 en 2 verwijderingen
  1. 15 2
      h3d/mat/MaterialDatabase.hx

+ 15 - 2
h3d/mat/MaterialDatabase.hx

@@ -20,8 +20,21 @@ class MaterialDatabase {
 		if( cached != null )
 			return cached.v;
 		var file = getFilePath(model);
-		var value = try haxe.Json.parse(hxd.res.Loader.currentInstance.load(file).toText()) catch( e : hxd.res.NotFound ) {};
-		db.set(model.entry.directory, { v : value });
+		var value = try {
+			var res = hxd.res.Loader.currentInstance.load(file);
+			#if editor
+			res.watch(() -> {
+				var value = haxe.Json.parse(res.toText());
+				db.set(model.entry.directory, { v : value });
+			});
+			#end
+			var value : Dynamic = haxe.Json.parse(res.toText());
+			value;
+		} catch (e : hxd.res.NotFound) {
+			var value = {};
+			value;
+		};
+		db.set(model.entry.directory, {v: value});
 		return value;
 	}