Class GameEvent#

class GameEvent: Object#
id: integer#

事件的id,随着时间推移自动增加并分配给新事件

end_id: integer#

事件的对应结束id,如果整个事件中未插入事件,那么end_id就是自己的id

room: Room#

room实例

event: GameEvent#

该事件对应的EventType,现已改为对应的class

data: any#

事件的附加数据,视类型而定

parent: GameEvent#

事件的父事件(栈中的上一层事件)

extra_clear: fun(self: GameEvent)[]#

事件结束时执行的自定义函数列表

extra_exit: fun(self: GameEvent)[]#

事件结束后执行的自定义函数

exec_ret: boolean?#

exec函数的返回值,可能不存在

status: string#

ready, running, exiting, dead

interrupted: boolean#

事件是否是因为被中断而结束的,可能是防止事件或者被杀

killed: boolean#

事件因为终止一切结算而被中断(所谓的“被杀”)

getBaseClass(self: GameEvent, ...: unknown): GameEvent#

获取最接近GameEvent的基类

desc(self: GameEvent): LogMessage#

LogMessage形式的描述

getDesc(self: GameEvent): string#

获得Log描述

findParent(
    self: GameEvent,
    eventType: <T: GameEvent>,
    includeSelf?: boolean,
    depth?: integer
): <T: GameEvent>?#

找第一个与当前事件有继承关系的特定事件

Parameters:
  • eventType (<T: GameEvent>) -- 事件类型

  • includeSelf? (boolean) -- 是否包括本事件

  • depth? (integer) -- 搜索深度

searchEvents(
    self: GameEvent,
    eventType: <T: GameEvent>,
    n: integer,
    func?: fun(e: <T: GameEvent>): boolean,
    endEvent?: GameEvent
): <T: GameEvent>[]#

从某个区间中,找出类型符合且符合func函数检测的至多n个事件。

Parameters:
  • eventType (<T: GameEvent>) -- 要查找的事件类型

  • n (integer) -- 最多找多少个

  • func? (fun(e: <T: GameEvent>): boolean) -- 过滤用的函数

  • endEvent? (GameEvent) -- 区间终止点,默认为本事件结束

Returns:

_1 (<T: GameEvent>[]) -- 找到的符合条件的所有事件,最多n个但不保证有n个