77 lines
1.4 KiB
JavaScript
77 lines
1.4 KiB
JavaScript
|
|
/*******************************************************************************
|
|
*
|
|
* Nx入口
|
|
*
|
|
* 产生全局服务入口window.nx
|
|
*
|
|
* 2021.12.10
|
|
******************************************************************************/
|
|
|
|
const NxFactory = require( "nx.factory" );
|
|
const NxLogger = require( "nx.log" );
|
|
const NxMath = require( "nx.math" );
|
|
|
|
module.exports = {
|
|
|
|
// 安装
|
|
install: function( _sceneRoot, _uiRoot ) {
|
|
|
|
// 已安装
|
|
if( window.nx ) {
|
|
return;
|
|
}
|
|
|
|
// 抗锯齿
|
|
cc.macro.ENABLE_WEBGL_ANTIALIAS = true;
|
|
|
|
// 纹理合批
|
|
cc.macro.CLEANUP_IMAGE_CACHE = false;
|
|
cc.dynamicAtlasManager.enabled = true;
|
|
cc.dynamicAtlasManager.maxFrameSize = 130;
|
|
cc.dynamicAtlasManager.reset();
|
|
|
|
// 基础服务
|
|
let logger = new NxLogger();
|
|
let factory = new NxFactory();
|
|
|
|
// nx初始化
|
|
window.nx = {
|
|
logger: logger,
|
|
factory: factory,
|
|
dt: new NxMath(),
|
|
};
|
|
|
|
// 创建框架
|
|
factory.create( "nx.frame" );
|
|
|
|
// 创建桥接实例
|
|
nx.bridge = factory.create( "nx.bridge" );
|
|
nx.bridge.initMods();
|
|
|
|
// 业务载入
|
|
nx.factory.createService( "tip.mod" );
|
|
nx.factory.createService( "trace.mod" );
|
|
|
|
},
|
|
|
|
// 卸载
|
|
uninstall: function() {
|
|
|
|
// 未安装
|
|
if( !window.nx ) {
|
|
return;
|
|
}
|
|
|
|
// 全卸载
|
|
nx.factory.remove( nx.game );
|
|
nx.factory.remove( nx.frame );
|
|
delete ( nx.factory );
|
|
delete ( nx.dt );
|
|
delete ( nx.logger );
|
|
delete window.nx;
|
|
|
|
},
|
|
|
|
}
|