跳转至

GFInputProfileBank

API Reference / Standard / 类索引

  • 路径:addons/gf/standard/input/mapping/gf_input_profile_bank.gd
  • 模块:Standard
  • 继承:Resource
  • API:public
  • 类别:资源定义 (resource_definition)
  • 首次版本:3.17.0

命名输入重映射配置集合。 用于保存、切换和复制多个 GFInputRemapConfig。它只管理配置资源, 不规定玩家、存档槽位、UI 展示或项目业务语义。

成员概览

类型 名称 签名
属性 profiles var profiles: Dictionary = {}
属性 active_profile_id var active_profile_id: StringName = &""
属性 custom_data var custom_data: Dictionary = {}
方法 set_profile func set_profile( profile_id: StringName, config: GFInputRemapConfig, duplicate_config: bool = true ) -> void:
方法 ensure_profile func ensure_profile(profile_id: StringName) -> GFInputRemapConfig:
方法 get_profile func get_profile(profile_id: StringName, duplicate_result: bool = false) -> GFInputRemapConfig:
方法 has_profile func has_profile(profile_id: StringName) -> bool:
方法 remove_profile func remove_profile(profile_id: StringName) -> bool:
方法 get_profile_ids func get_profile_ids() -> PackedStringArray:
方法 clear_profiles func clear_profiles() -> void:
方法 set_active_profile func set_active_profile(profile_id: StringName) -> bool:
方法 get_active_profile func get_active_profile(duplicate_result: bool = false) -> GFInputRemapConfig:
方法 duplicate_bank func duplicate_bank() -> GFInputProfileBank:

属性

profiles

  • API:public
var profiles: Dictionary = {}

命名重映射配置。结构为 profile_id -> GFInputRemapConfig。

结构:

  • profiles: Dictionary,以 StringName 或 String profile id 为键,值为 GFInputRemapConfig。

active_profile_id

  • API:public
var active_profile_id: StringName = &""

当前激活的配置 ID。为空表示尚未选择。

custom_data

  • API:public
var custom_data: Dictionary = {}

项目自定义数据。框架不解释该字段。

结构:

  • custom_data: Dictionary,项目持有的 UI、存档槽或平台元数据。

方法

set_profile

  • API:public
func set_profile( profile_id: StringName, config: GFInputRemapConfig, duplicate_config: bool = true ) -> void:

设置一个命名配置。默认会深拷贝传入配置,避免外部继续修改污染 bank。

参数:

名称 说明
profile_id 配置 ID。
config 输入重映射配置;为 null 时移除该配置。
duplicate_config 是否保存配置副本。

ensure_profile

  • API:public
func ensure_profile(profile_id: StringName) -> GFInputRemapConfig:

确保指定配置存在并返回它。

参数:

名称 说明
profile_id 配置 ID。

返回:现有或新建的重映射配置。

get_profile

  • API:public
func get_profile(profile_id: StringName, duplicate_result: bool = false) -> GFInputRemapConfig:

获取指定命名配置。

参数:

名称 说明
profile_id 配置 ID。
duplicate_result 是否返回深拷贝。

返回:重映射配置;不存在时返回 null。

has_profile

  • API:public
func has_profile(profile_id: StringName) -> bool:

检查指定配置是否存在。

参数:

名称 说明
profile_id 配置 ID。

返回:是否存在。

remove_profile

  • API:public
func remove_profile(profile_id: StringName) -> bool:

移除指定配置。

参数:

名称 说明
profile_id 配置 ID。

返回:成功移除时返回 true。

get_profile_ids

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

获取所有有效配置 ID。

返回:排序后的配置 ID。

clear_profiles

  • API:public
func clear_profiles() -> void:

清空所有配置。

set_active_profile

  • API:public
func set_active_profile(profile_id: StringName) -> bool:

设置当前激活配置。

参数:

名称 说明
profile_id 配置 ID。

返回:成功设置时返回 true。

get_active_profile

  • API:public
func get_active_profile(duplicate_result: bool = false) -> GFInputRemapConfig:

获取当前激活配置。

参数:

名称 说明
duplicate_result 是否返回深拷贝。

返回:当前配置;未设置或不存在时返回 null。

duplicate_bank

  • API:public
func duplicate_bank() -> GFInputProfileBank:

创建 bank 的深拷贝。

返回:新的配置集合。