跳转至

GFProjectileCatalog

API Reference / Combat / 类索引

  • 路径:addons/gf/extensions/combat/projectiles/gf_projectile_catalog.gd
  • 模块:Combat
  • 继承:Resource
  • API:public
  • 类别:资源定义 (resource_definition)
  • 首次版本:3.17.0

发射体场景目录。 用稳定 ID 管理 PackedScene,供发射器、技能或项目自己的生成流程复用。 目录不规定发射体的伤害、阵营、消耗或命中特效。

成员概览

类型 名称 签名
属性 entries var entries: Array[GFProjectileCatalogEntry] = []
方法 set_scene func set_scene(projectile_id: StringName, scene: PackedScene) -> void:
方法 get_scene func get_scene(projectile_id: StringName) -> PackedScene:
方法 remove_scene func remove_scene(projectile_id: StringName) -> bool:
方法 has_scene func has_scene(projectile_id: StringName) -> bool:
方法 get_projectile_ids func get_projectile_ids() -> PackedStringArray:
方法 prune_invalid_entries func prune_invalid_entries() -> int:

属性

entries

  • API:public
var entries: Array[GFProjectileCatalogEntry] = []

发射体场景条目列表。

方法

set_scene

  • API:public
func set_scene(projectile_id: StringName, scene: PackedScene) -> void:

设置或替换一个发射体场景。

参数:

名称 说明
projectile_id 发射体 ID。
scene 发射体场景;为 null 时移除该 ID。

get_scene

  • API:public
func get_scene(projectile_id: StringName) -> PackedScene:

获取指定 ID 的发射体场景。

参数:

名称 说明
projectile_id 发射体 ID。

返回:找到时返回 PackedScene,否则返回 null。

remove_scene

  • API:public
func remove_scene(projectile_id: StringName) -> bool:

移除指定 ID 的发射体场景。

参数:

名称 说明
projectile_id 发射体 ID。

返回:移除成功返回 true。

has_scene

  • API:public
func has_scene(projectile_id: StringName) -> bool:

检查指定 ID 是否存在有效场景。

参数:

名称 说明
projectile_id 发射体 ID。

返回:存在有效场景时返回 true。

get_projectile_ids

  • API:public
func get_projectile_ids() -> PackedStringArray:

获取所有有效发射体 ID。

返回:按字典序排序的 ID 数组。

prune_invalid_entries

  • API:public
func prune_invalid_entries() -> int:

清理空条目、空 ID 或空场景。

返回:被清理的条目数量。