godot-plateformer/addons/reedinput/key_binding.gd

22 lines
697 B
GDScript

extends Resource
class_name KeyBinding
@export var action_id: String = "" # 绑定到哪个动作
@export_enum("button", "axis_pair") var type: String = "button"
# 按钮型:用 key
@export var key: int = KEY_NONE # 例如 KEY_SPACE
# 轴型(成对键):用 neg_key / pos_key
@export var neg_key: int = KEY_NONE # 例如 KEY_A
@export var pos_key: int = KEY_NONE # 例如 KEY_D
func is_valid() -> bool:
if action_id == "":
return false
if type == "button":
return key != KEY_NONE
if type == "axis_pair":
return neg_key != KEY_NONE or pos_key != KEY_NONE
return false