You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
2.9 KiB
105 lines
2.9 KiB
<% if (isUsePhysX) { %>
|
|
const systemInfo = tt.getSystemInfoSync();
|
|
// a hack way to load physics provide by bytedance
|
|
if (tt.getPhysx) {
|
|
tt.getPhysx({
|
|
success (physx) {
|
|
if (!physx) {
|
|
console.error('can not use native PhysX');
|
|
} else {
|
|
console.info('physics plugin load success, version=' + physx.getVersion());
|
|
GameGlobal.nativePhysX = physx;
|
|
}
|
|
loadCC();
|
|
},
|
|
fail () {
|
|
loadCC();
|
|
}
|
|
});
|
|
} else if (systemInfo.platform === 'android' && tt.getLoader && tt.getLoader()) {
|
|
const appid = "<%= appid %>";
|
|
const loader = tt.getLoader().loader;
|
|
loader.load('physics', appid, "token", message => {
|
|
if (message) {
|
|
console.error('[tt.loader]:' + message);
|
|
} else {
|
|
console.info('[tt.loader]: physics plugin load success, version=' + tt.getPhy().getVersion());
|
|
GameGlobal.nativePhysX = tt.getPhy();
|
|
}
|
|
loadCC();
|
|
})
|
|
} else {
|
|
loadCC();
|
|
}
|
|
<% } %>
|
|
|
|
<% if (!isUsePhysX) { %>
|
|
loadCC();
|
|
<% } %>
|
|
|
|
function loadCC() {
|
|
require('./web-adapter');
|
|
|
|
<% if(polyfillsBundleFile) { %>
|
|
// Polyfills bundle.
|
|
require("<%= polyfillsBundleFile %>");
|
|
<% } %>
|
|
|
|
// SystemJS support.
|
|
require("<%= systemJsBundleFile %>");
|
|
|
|
// Adapt for IOS, swap if opposite
|
|
if (canvas){
|
|
var _w = canvas.width;
|
|
var _h = canvas.height;
|
|
if (screen.width < screen.height) {
|
|
if (canvas.width > canvas.height) {
|
|
_w = canvas.height;
|
|
_h = canvas.width;
|
|
}
|
|
} else {
|
|
if (canvas.width < canvas.height) {
|
|
_w = canvas.height;
|
|
_h = canvas.width;
|
|
}
|
|
}
|
|
canvas.width = _w;
|
|
canvas.height = _h;
|
|
}
|
|
|
|
// Adjust initial canvas size
|
|
if (canvas && window.devicePixelRatio >= 2) {canvas.width *= 2; canvas.height *= 2;}
|
|
|
|
const importMap = require("<%= importMapFile%>").default;
|
|
System.warmup({
|
|
importMap,
|
|
importMapUrl: '<%= importMapFile%>',
|
|
defaultHandler: (urlNoSchema) => {
|
|
require('.' + urlNoSchema);
|
|
},
|
|
handlers: {
|
|
'plugin:': (urlNoSchema) => {
|
|
typeof requirePlugin === 'function' ? requirePlugin(urlNoSchema) : require(urlNoSchema);
|
|
},
|
|
'project:': (urlNoSchema) => {
|
|
require(urlNoSchema);
|
|
},
|
|
},
|
|
});
|
|
|
|
System.import('<%= applicationJs %>').then(({ Application }) => {
|
|
return new Application();
|
|
}).then((application) => {
|
|
return onApplicationCreated(application);
|
|
}).catch((err) => {
|
|
console.error(err);
|
|
});
|
|
|
|
function onApplicationCreated(application) {
|
|
return System.import('cc').then((cc) => {
|
|
require('./engine-adapter');
|
|
return application.init(cc);
|
|
}).then(() => { return application.start(); });
|
|
}
|
|
|
|
}
|
|
|