UNPKG

yoni-mcscripts-lib

Version:

为 Minecraft Script API 中的部分接口创建了 wrapper,并提供简单的事件管理器和任务管理器,另附有一些便于代码编写的一些小工具。

23 lines (22 loc) 1.42 kB
import IEventHandler from "./interfaces/EventHandler"; import { EventRegistry } from "./EventRegistry.js"; import { EventCallback, ListenEventOptions, SingleHandlerEventListener } from "./lib/listenEvent.js"; export declare class EventManager { /** * 处理事件回调要求的额外参数。 */ static checkExtraOption<T extends EventRegistry<TEvent>, TEvent extends Function = T["eventClass"], Event extends {} = TEvent["prototype"]>(eventRegistry: T, handler: IEventHandler<TEvent>, event: Event): boolean; /** * 处理一次事件。 * @param eventRegistry 事件的注册信息。 * @param event 事件对象。 * @param noExtendsAlways 指定是否不应该去尝试扩展事件的回调范围。 */ callEvent<T extends EventRegistry<TEvent>, TEvent extends Function = T["eventClass"], E extends {} = TEvent["prototype"]>(eventRegistry: T, event: E, noExtendsAlways?: boolean): void; addListener<T extends {}>(listener: T): void; removeListener<T extends {}>(listener: T): boolean; listenEvent<TEvent extends Function>(listenOptions: ListenEventOptions<TEvent>, callback: EventCallback<TEvent>): SingleHandlerEventListener<TEvent>; listenEvent<TEvent extends Function>(event: TEvent, callback: EventCallback<TEvent>): SingleHandlerEventListener<TEvent>; } export declare const eventManager: EventManager; export { eventManager as manager };