Files
webRtc/Assets/Samples/Unity Render Streaming/3.1.0-exp.9/Example/Broadcast/CustomEventSystem.cs
zhangzheng 1bb1fee5cc 111
2026-02-27 18:35:40 +08:00

41 lines
1.1 KiB
C#

using UnityEngine.EventSystems;
using UnityEngine.InputSystem;
using UnityEngine.InputSystem.LowLevel;
namespace Unity.RenderStreaming.Samples
{
using InputSystem = UnityEngine.InputSystem.InputSystem;
class CustomEventSystem : EventSystem
{
#if !INPUTSYSTEM_1_1_OR_NEWER
protected override void Awake()
{
base.Awake();
unsafe
{
InputSystem.onDeviceCommand += InputSystemOnDeviceCommand;
}
}
private static unsafe long? InputSystemOnDeviceCommand(InputDevice device, InputDeviceCommand* command)
{
if (command->type != QueryCanRunInBackground.Type)
{
// return null is skip this evaluation
return null;
}
((QueryCanRunInBackground*)command)->canRunInBackground = true;
return InputDeviceCommand.GenericSuccess;
}
protected override void OnApplicationFocus(bool hasFocus)
{
//Do not change focus flag on eventsystem
}
#endif
}
}