// Copyright (c) 2025-2026 GeWuYou // SPDX-License-Identifier: Apache-2.0 using GFramework.Game.Abstractions.Input; namespace GFramework.Godot.Input; /// /// 定义 `GodotInputBindingStore` 依赖的最小 `InputMap` 后端能力。 /// internal interface IGodotInputMapBackend { /// /// 获取当前 `InputMap` 中的动作名。 /// /// 动作名列表;永远不会返回 IReadOnlyList GetActionNames(); /// /// 获取指定动作的框架绑定描述集合。 /// /// 动作名称,不能为 或空白字符串。 /// 框架绑定描述集合;永远不会返回 /// 或空白字符串时抛出。 IReadOnlyList GetBindings(string actionName); /// /// 用给定绑定集合替换动作当前绑定。 /// /// 动作名称,不能为 或空白字符串。 /// 新的绑定集合,不能为 ,但可以为空集合。 /// 或空白字符串时抛出。 /// 时抛出。 void SetBindings(string actionName, IReadOnlyList bindings); /// /// 将指定动作恢复为项目默认绑定。 /// /// 动作名称,不能为 或空白字符串。 /// 或空白字符串时抛出。 void ResetAction(string actionName); /// /// 将所有动作恢复为项目默认绑定。 /// void ResetAll(); }