Files
fc/dev/project/assets/Scripts/nx/nx.entry.js
T
2026-05-23 22:10:14 +08:00

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;
},
}