Expect JSON libraries instead of serialized ones

This commit is contained in:
Joshua Granick
2014-09-25 12:53:33 -07:00
parent b46f750bee
commit 617acc646c

View File

@@ -2,6 +2,7 @@ package lime;
#if !macro #if !macro
import haxe.Json;
import haxe.Unserializer; import haxe.Unserializer;
import lime.audio.AudioBuffer; import lime.audio.AudioBuffer;
import lime.graphics.Font; import lime.graphics.Font;
@@ -783,14 +784,12 @@ class Assets {
#if (tools && !display) #if (tools && !display)
var data = getText ("libraries/" + name + ".dat"); var data = getText ("libraries/" + name + ".json");
if (data != null && data != "") { if (data != null && data != "") {
var unserializer = new Unserializer (data); var info = Json.parse (data);
unserializer.setResolver (cast { resolveEnum: resolveEnum, resolveClass: resolveClass }); var library = Type.createInstance (Type.resolveClass (info.type), info.args);
var library:AssetLibrary = unserializer.unserialize ();
libraries.set (name, library); libraries.set (name, library);
library.eventCallback = library_onEvent; library.eventCallback = library_onEvent;
library.load (handler); library.load (handler);
@@ -924,32 +923,6 @@ class Assets {
} }
private static function resolveClass (name:String):Class <Dynamic> {
return Type.resolveClass (name);
}
private static function resolveEnum (name:String):Enum <Dynamic> {
var value = Type.resolveEnum (name);
#if flash
if (value == null) {
return cast Type.resolveClass (name);
}
#end
return value;
}
public static function unloadLibrary (name:String):Void { public static function unloadLibrary (name:String):Void {
initialize(); initialize();