想在ts里的 任意地方,调用一个全局函数,但是还不想import 怎么办?
cc.ctrl.login.onLogOut();
cc.mgr.event.clear();
在ts代码里这么用会非常方便.
declare global {
namespace cc {
export let ctrl: {
login?: LoginController;
};
export let mgr: {
event?: EventManager;
};
}
}
/**
* 主控制器:
*/
export default class ModuleController {
public static _instance: ModuleController = null;
constructor() {
this.initMgr();
this.initCtrl();
}
/**
* 整合控制器
*/
initCtrl() {
cc.ctrl = {};
cc.ctrl.login= new LoginController();
}
/**
* 整合业务逻辑管理中心
*/
initMgr() {
cc.mgr = {};
cc.mgr.event = EventManager.getInstance();
}
}
export default class LoginController {
constructor() {
}
public onLogOut() {
}
}
export default class EventManager {
public static _instance: EventManager = null;
constructor() {
}
public clear() {
}
public static getInstance(): EventManager {
if (!this._instance) {
this._instance = new EventManager();
}
return this._instance;
}
}
export default class main{
start() {
ModuleController._instance = new ModuleController();
cc.ctrl.login.onLogOut();
cc.mgr.event.clear();
}
}