TS 添加全局控制器

想在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();
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值