跳到主要内容

自定义

若内置的输入动作无法满足您的需求,您可以自定义一个输入动作。

假设您的项目需要一个名为 Confirm 的输入表示 "确认" 操作,您希望用键盘上的 "F" 键表示此输入。

您可以定义如下类型:

Confirm.cs
using winS.Unity.Modules.Input;

public class Confirm : InputActionButton
{
public Confirm()
{
AddBinding("<Keyboard>/f");
}
}

在上述代码中,我们创建了一个继承自winS.Unity.Modules.Input.InputActionButton的类型 Confirm。 这表明此输入是一个Button。然后我们在构造函数里添加了对键盘 "F" 键的绑定(绑定语义基于 UnityEngine.InputSystem)。

现在,我们可以像其它输入动作一样,将其作为属性定义在您的输入模块中。

InputModule.cs
using winS.Unity.Modules.Input;

public class InputModule : InputModuleBase
{
public static Confirm confirm { get; private set; } = new Confirm(); //您定义的"确认"输入
public static InputActionClick click { get; private set; } = new InputActionClick();

public override void Enable()
{
base.Enable();
click.Enable();
confirm.Enable();
}
public override void Disable()
{
base.Disable();
click.Disable();
confirm.Disable();
}
}