armory/Sources/armory/trait/internal/JSScript.hx
Lubos Lenco f24324a903 Fix DCE
2017-08-10 14:10:37 +02:00

36 lines
768 B
Haxe

package armory.trait.internal;
import iron.Trait;
class JSScript extends Trait {
static var api:JSScriptAPI = null;
public function new(scriptName:String) {
super();
notifyOnInit(function() {
iron.data.Data.getBlob(scriptName + '.js', function(blob:kha.Blob) {
var header = "var App = armory.App;
var Scene = armory.Scene;
var Data = armory.Data;
var Quat = armory.math.Quat;
var Mat4 = armory.math.Mat4;
var Vec4 = armory.math.Vec4;";
var src = header + blob.toString();
#if js
if (api == null) api = new JSScriptAPI();
untyped __js__("var self = {0};", object);
#if !webgl // Krom
untyped __js__("var window = this;");
#end
untyped __js__("eval(src);");
#end
});
});
}
}