跳转至

GFProjectileLifetimePolicy

API Reference / Combat / 类索引

  • 路径:addons/gf/extensions/combat/projectiles/gf_projectile_lifetime_policy.gd
  • 模块:Combat
  • 继承:Resource
  • API:public
  • 类别:协议与扩展点 (protocol)
  • 首次版本:3.17.0

发射体生命周期策略。 默认支持按时间和距离结束。项目可继承后叠加自定义结束条件。

成员概览

类型 名称 签名
属性 max_seconds var max_seconds: float = 0.0
属性 max_distance var max_distance: float = 0.0
属性 max_impacts var max_impacts: int = 0
方法 setup func setup(projectile: Node, projectile_context: Dictionary = {}) -> void:
方法 should_finish func should_finish(projectile: Node, elapsed_seconds: float, projectile_context: Dictionary = {}) -> bool:
方法 _setup func _setup(_projectile: Node, _projectile_context: Dictionary = {}) -> void:
方法 _should_finish func _should_finish( _projectile: Node, _elapsed_seconds: float, _projectile_context: Dictionary = {} ) -> bool:

属性

max_seconds

  • API:public
var max_seconds: float = 0.0

最长存活时间。小于等于 0 表示不按时间结束。

max_distance

  • API:public
var max_distance: float = 0.0

最远移动距离。小于等于 0 表示不按距离结束。

max_impacts

  • API:public
var max_impacts: int = 0

最大成功命中次数。小于等于 0 表示不按命中次数结束。

方法

setup

  • API:public
func setup(projectile: Node, projectile_context: Dictionary = {}) -> void:

发射体启动时调用。

参数:

名称 说明
projectile 发射体节点。
projectile_context 本次发射的上下文字典。

结构:

  • projectile_context: Dictionary,本次发射上下文;会写入初始位置和 impact_count。

should_finish

  • API:public
func should_finish(projectile: Node, elapsed_seconds: float, projectile_context: Dictionary = {}) -> bool:

判断发射体是否应结束。

参数:

名称 说明
projectile 发射体节点。
elapsed_seconds 本次发射已经运行的秒数。
projectile_context 本次发射的上下文字典。

返回:应结束时返回 true。

结构:

  • projectile_context: Dictionary,本次发射上下文;用于读取初始位置和 impact_count。

_setup

  • API:protected
func _setup(_projectile: Node, _projectile_context: Dictionary = {}) -> void:

发射体启动扩展点。

参数:

名称 说明
_projectile 发射体节点。
_projectile_context 本次发射上下文字典。

结构:

  • _projectile_context: Dictionary,本次发射上下文;可写入生命周期策略状态。

_should_finish

  • API:protected
func _should_finish( _projectile: Node, _elapsed_seconds: float, _projectile_context: Dictionary = {} ) -> bool:

自定义结束条件扩展点。

参数:

名称 说明
_projectile 发射体节点。
_elapsed_seconds 本次发射已经运行的秒数。
_projectile_context 本次发射上下文字典。

返回:应结束时返回 true。

结构:

  • _projectile_context: Dictionary,本次发射上下文;可读取生命周期策略状态。