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

View File

@@ -29,7 +29,7 @@ class System {
#if (js && html5)
@: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;
@@ -82,6 +82,7 @@ class System {
ApplicationMain.config.element = htmlElement;
ApplicationMain.config.width = width;
ApplicationMain.config.height = height;
ApplicationMain.config.assetsPrefix = assetsPrefix;
ApplicationMain.create ();
#end
@@ -402,4 +403,4 @@ class System {
}
#end
#end

View File

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

View File

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