Support custom prefix (root) for resources URLs in html5.

Allow users to specify custom resources root in lime.embed.
This commit is contained in:
Ilia Glazkov
2015-01-22 15:22:43 -08:00
parent 30d6139ee5
commit 1dc7c513e4
4 changed files with 15 additions and 4 deletions

View File

@@ -9,6 +9,7 @@ typedef Config = {
@:optional var depthBuffer:Bool; @:optional var depthBuffer:Bool;
#if (js && html5) #if (js && html5)
@:optional var element:js.html.HtmlElement; @:optional var element:js.html.HtmlElement;
@:optional var assetsPrefix:String;
#end #end
@:optional var fps:Int; @:optional var fps:Int;
@:optional var fullscreen:Bool; @:optional var fullscreen:Bool;
@@ -20,4 +21,4 @@ typedef Config = {
@:optional var vsync:Bool; @:optional var vsync:Bool;
@:optional var width:Int; @:optional var width:Int;
} }

View File

@@ -29,7 +29,7 @@ class System {
#if (js && html5) #if (js && html5)
@:keep @:expose("lime.embed") @:keep @:expose("lime.embed")
public static function embed (element:Dynamic, width:Null<Int> = null, height:Null<Int> = null, background:String = null) { public static function embed (element:Dynamic, width:Null<Int> = null, height:Null<Int> = null, background:String = null, assetsPrefix:String = null) {
var htmlElement:HtmlElement = null; var htmlElement:HtmlElement = null;
@@ -82,6 +82,7 @@ class System {
ApplicationMain.config.element = htmlElement; ApplicationMain.config.element = htmlElement;
ApplicationMain.config.width = width; ApplicationMain.config.width = width;
ApplicationMain.config.height = height; ApplicationMain.config.height = height;
ApplicationMain.config.assetsPrefix = assetsPrefix;
ApplicationMain.create (); ApplicationMain.create ();
#end #end
@@ -402,4 +403,4 @@ class System {
} }
#end #end

View File

@@ -32,6 +32,8 @@ class ApplicationMain {
::else::types.push (null);::end:: ::else::types.push (null);::end::
::end::::end:: ::end::::end::
urls = [for (url in urls) Assets.getPath(url)];
preloader.load (urls, types); preloader.load (urls, types);
#end #end
@@ -95,4 +97,4 @@ class ApplicationMain {
#end #end
} }

View File

@@ -57,6 +57,13 @@ class DefaultAssetLibrary extends AssetLibrary {
type.set (id, AssetType.$$upper(::type::)); type.set (id, AssetType.$$upper(::type::));
::end::::end:: ::end::::end::
var assetsPrefix = ApplicationMain.config.assetsPrefix;
if (assetsPrefix != null) {
for (k in path.keys()) {
path.set(k, assetsPrefix + path[k]);
}
}
#else #else
#if openfl #if openfl