位于 /druid/component.lua
- create
- create_widget
- init
- update
- on_remove
- on_input
- on_input_interrupt
- on_message
- on_late_init
- on_focus_lost
- on_focus_gained
- on_style_change
- on_layout_change
- on_window_resized
- on_language_change
- set_style
- set_template
- get_template
- set_nodes
- get_context
- get_node
- get_druid
- get_name
- get_parent_name
- get_input_priority
- set_input_priority
- reset_input_priority
- get_uid
- set_input_enabled
- get_input_enabled
- get_parent_component
- get_nodes
- get_childrens
component.create(base_type, meta)创建新组件类型的工厂函数。
-
参数:
base_type(table): 基础组件类型meta(table): 组件元数据
-
返回:
component_type(table): 新的组件类型
component.create_widget(meta)创建新组件类型的工厂函数。
-
参数:
meta(table): 组件元数据
-
返回:
component_type(table): 新的组件类型
component.init(self, druid, name, ...)组件初始化。
- 参数:
self(druid.component): 组件实例druid(druid.instance): Druid 实例name(string): 组件名称...(...): 其他参数
component.update(self, dt)组件更新函数。
- 参数:
self(druid.component): 组件实例dt(number): 时间增量
component.on_remove(self)组件移除时调用。
- 参数:
self(druid.component): 组件实例
component.on_input(self, action_id, action)处理输入事件。
-
参数:
self(druid.component): 组件实例action_id(hash): 动作 IDaction(table): 动作表
-
返回:
consumed(boolean): 是否消费了输入事件
component.on_input_interrupt(self)输入中断时调用。
- 参数:
self(druid.component): 组件实例
component.on_message(self, message_id, message, sender)处理消息事件。
- 参数:
self(druid.component): 组件实例message_id(hash): 消息 IDmessage(table): 消息内容sender(url): 发送者 URL
component.on_late_init(self)延迟初始化。
- 参数:
self(druid.component): 组件实例
component.on_focus_lost(self)失去焦点时调用。
- 参数:
self(druid.component): 组件实例
component.on_focus_gained(self)获得焦点时调用。
- 参数:
self(druid.component): 组件实例
component.on_style_change(self)样式更改时调用。
- 参数:
self(druid.component): 组件实例
component.on_layout_change(self)布局更改时调用。
- 参数:
self(druid.component): 组件实例
component.on_window_resized(self, width, height)窗口调整大小时调用。
- 参数:
self(druid.component): 组件实例width(number): 新宽度height(number): 新高度
component.on_language_change(self)语言更改时调用。
- 参数:
self(druid.component): 组件实例
component.set_style(self, style)设置组件样式。
- 参数:
self(druid.component): 组件实例style(table): 样式表
component.set_template(self, template)设置组件模板。
- 参数:
self(druid.component): 组件实例template(table): 模板表
component.get_template(self)获取组件模板。
-
参数:
self(druid.component): 组件实例
-
返回:
template(table): 模板表
component.set_nodes(self, nodes)设置组件节点。
- 参数:
self(druid.component): 组件实例nodes(table): 节点表
component.get_context(self)获取组件上下文。
-
参数:
self(druid.component): 组件实例
-
返回:
context(table): 组件上下文
component.get_node(self, node_id)获取节点。
-
参数:
self(druid.component): 组件实例node_id(string): 节点 ID
-
返回:
node(node): GUI 节点
component.get_druid(self)获取 Druid 实例。
-
参数:
self(druid.component): 组件实例
-
返回:
druid(druid.instance): Druid 实例
component.get_name(self)获取组件名称。
-
参数:
self(druid.component): 组件实例
-
返回:
name(string): 组件名称
component.get_parent_name(self)获取父组件名称。
-
参数:
self(druid.component): 组件实例
-
返回:
parent_name(string): 父组件名称
component.get_input_priority(self)获取输入优先级。
-
参数:
self(druid.component): 组件实例
-
返回:
priority(number): 输入优先级
component.set_input_priority(self, priority)设置输入优先级。
- 参数:
self(druid.component): 组件实例priority(number): 输入优先级
component.reset_input_priority(self)重置输入优先级。
- 参数:
self(druid.component): 组件实例
component.get_uid(self)获取组件唯一 ID。
-
参数:
self(druid.component): 组件实例
-
返回:
uid(number): 唯一 ID
component.set_input_enabled(self, enabled)设置输入启用状态。
- 参数:
self(druid.component): 组件实例enabled(boolean): 是否启用输入
component.get_input_enabled(self)获取输入启用状态。
-
参数:
self(druid.component): 组件实例
-
返回:
enabled(boolean): 是否启用输入
component.get_parent_component(self)获取父组件。
-
参数:
self(druid.component): 组件实例
-
返回:
parent(druid.component): 父组件
component.get_nodes(self)获取组件节点。
-
参数:
self(druid.component): 组件实例
-
返回:
nodes(table): 节点表
component.get_childrens(self)获取子组件。
-
参数:
self(druid.component): 组件实例
-
返回:
childrens(table): 子组件表
组件关联的 Druid 实例。