C# 编辑中的Unity touch事件?(新输入系统)

C# 编辑中的Unity touch事件?(新输入系统),c#,unity3d,C#,Unity3d,我正试图在编辑中获得接触事件。但是,我没有从输入操作中获取任何事件 我有一个非常简单的脚本: 使用UnityEngine; 使用UnityEngine.InputSystem; 使用UnityEngine.InputSystem.EnhancedTouch; 公共类GameManager:MonoBehavior { 公共输入触摸; 无效唤醒() { TouchSimulation.Enable(); _touch.started+=OnTouch; _touch.performed+=OnTo

我正试图在编辑中获得接触事件。但是,我没有从输入操作中获取任何事件

我有一个非常简单的脚本:

使用UnityEngine;
使用UnityEngine.InputSystem;
使用UnityEngine.InputSystem.EnhancedTouch;
公共类GameManager:MonoBehavior
{
公共输入触摸;
无效唤醒()
{
TouchSimulation.Enable();
_touch.started+=OnTouch;
_touch.performed+=OnTouch;
_touch.cancelled+=OnTouch;
}
void OnTouch(InputAction.CallbackContext上下文)
{
Log(context.ReadValueAsObject());
}
}
所以一个简单的
inputation\u touch
,我订阅了它的所有事件。 我还使用
TouchSimulation.enable()
在唤醒功能中启用触摸模拟

然后在inspector中,我将其设置为:

输入操作的设置为:

主要触摸屏的功能包括:

当我在游戏视图中点击并拖动鼠标时,不会发生任何事情,也不会触发任何事件

我做错了什么?我还需要什么来获取触摸事件并在编辑器中模拟它们

我正在运行Unity 2019.4


谢谢

引用文档:

触控模拟触控输入可通过其他设备上的输入进行模拟 各种指针设备,如鼠标和笔设备。使能 这样,您可以将TouchSimulation MonoBehavior添加到 在场景中使用游戏对象或只需调用TouchSimulation.Enable 在启动代码中的某个地方

void OnEnable()
{
    TouchSimulation.Enable();
} 
在编辑器中,您还可以通过切换“模拟触摸输入”来启用触摸模拟 在“选项”下拉列表中打开“从鼠标或笔” 的。

TouchSimulation将添加一个触摸屏设备并自动镜像 在任何指针设备上输入虚拟触摸屏设备


我发现了问题,显然您需要首先启用输入操作:

void Awake()
{
_touch.started+=OnTouch;
_touch.performed+=OnTouch;
_touch.cancelled+=OnTouch;
_touch.Enable();
}

在Monobhavour的
oneable
OnDisable
回调中启用/禁用也是一个好主意。

遗憾的是,这也不起作用。我还读到,在编辑器中有两个选项。无论哪种情况,似乎都不起作用。我确实看到的区别是,当使用调试器的选项时,“模拟触摸屏”设备总是在那里,但当使用代码时,它只显示该设备几秒钟,然后再次消失。