[开发者心得] 关于事件那些事情

[复制链接]
651 |0
属于你的雨天 发表于 2023-12-5 11:33:24 | 显示全部楼层 |阅读模式
事件的发送

        // S端发送事件给所有玩家
        mw.Event.dispatchToAllClient("XXXX");
        // S端发送事件给指定玩家
        let player: mw.Player;
        mw.Event.dispatchToClient(player, "XXXX");
        // C/S端发送本地事件
        mw.Event.dispatchToLocal("XXXX");
        // C端发送事件给S端
        mw.Event.dispatchToServer("XXXX");


事件的监听
        // 监听本地事件 适用 C/S端
        mw.Event.addClientListener("XXXX", () => { });
        // 监听C端事件 仅用与S端
        mw.Event.addClientListener("XXXX", (player: mw.Player) => { });
        // 监听S端事件 仅用与C端
        mw.Event.addServerListener("XXXX", () => { });


事件的监听移除

        // 监听S端事件 仅用与C端
        let event = mw.Event.addServerListener("XXXX", () => { });
        // 移除 监听S端事件 仅用与C端
        mw.Event.removeListener(event);


注意事项:
那些情况下应该移除事件监听:
1. 一些特殊情况,比如: 添加了一个临时 监听事件 ,后面不需要 监听就需要直接移除。
2. 一些场景中动态创建的脚本中添加的事件,需要在 onDestroy中 移除事件监听,不然会造成事件的错误分发,会一直找不到脚本中的参数,导致报错。

回复

使用道具 举报

72小时热榜
热门版块
快速回复 返回顶部 返回列表