using GFramework.Game.input;
using Godot;
namespace GFramework.Godot.input;
///
/// Godot输入桥接类,用于将Godot的输入事件转换为游戏框架的输入事件
///
public partial class GodotInputBridge : Node
{
private InputSystem _inputSystem = null!;
///
/// 绑定输入系统
///
/// 要绑定的输入系统实例
public void Bind(InputSystem inputSystem)
{
_inputSystem = inputSystem;
}
///
/// 捕获阶段:最早
///
public override void _Input(InputEvent @event)
{
_inputSystem.HandleRaw(
new GodotRawInput(@event, GodotInputPhase.Capture)
);
}
///
/// 冒泡阶段:UI 未处理
///
public override void _UnhandledInput(InputEvent @event)
{
_inputSystem.HandleRaw(
new GodotRawInput(@event, GodotInputPhase.Bubble)
);
}
}