LayaBox 自定義事件

EventMgrts.ts文件this

import EventDispatcher = laya.events.EventDispatcher;
class EventMgr extends EventDispatcher {
    static eventDispatcher: EventDispatcher = new EventDispatcher();
    static _instance: EventMgr;
    public static getInstance() {
        if (EventMgr._instance == null) {
            EventMgr._instance = new EventMgr();
        }
        return EventMgr._instance;
    }
    constructor() {
        super();
    }
    ///註冊事件
    public Emit(InName, agv?: null) {
        //派發事件
        console.log("派發事件",InName);
        EventMgr.eventDispatcher.event(InName, agv);
    }
    //偵聽事件
    public AddNotice(InName, caller, listener: Function, arg?: any[]): void {
        console.log("偵聽事件",InName);
        EventMgr.eventDispatcher.on(InName, caller, listener, (arg == null) ? null : ([arg]));
    }
}

添加偵聽事件spa

EventMgr.getInstance().AddNotice("test", this, this.onAddNotice);

註冊事件code

EventMgr.getInstance().Emit("test");
相關文章
相關標籤/搜索