yoni-mcscripts-lib
Version:
为 Minecraft Script API 中的部分接口创建了 wrapper,并提供简单的事件管理器和任务管理器,另附有一些便于代码编写的一些小工具。
23 lines (22 loc) • 1.42 kB
TypeScript
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 };