Files
2026-03-04 10:03:45 +08:00

83 lines
1.8 KiB
C#

using System.ComponentModel;
using System.Text.RegularExpressions;
using Rewired.Platforms;
using Rewired.Utils;
using Rewired.Utils.Interfaces;
using UnityEngine;
using UnityEngine.SceneManagement;
namespace Rewired
{
[AddComponentMenu("Rewired/Input Manager")]
[EditorBrowsable(EditorBrowsableState.Never)]
public sealed class InputManager : InputManager_Base
{
private bool ignoreRecompile;
protected override void OnInitialized()
{
SubscribeEvents();
}
protected override void OnDeinitialized()
{
UnsubscribeEvents();
}
protected override void DetectPlatform()
{
scriptingBackend = ScriptingBackend.Mono;
scriptingAPILevel = ScriptingAPILevel.Net20;
editorPlatform = EditorPlatform.None;
platform = Platform.Unknown;
webplayerPlatform = WebplayerPlatform.None;
isEditor = false;
if (SystemInfo.deviceName == null)
{
_ = string.Empty;
}
if (SystemInfo.deviceModel == null)
{
_ = string.Empty;
}
platform = Platform.Windows;
scriptingBackend = ScriptingBackend.Mono;
scriptingAPILevel = ScriptingAPILevel.NetStandard20;
}
protected override void CheckRecompile()
{
}
protected override IExternalTools GetExternalTools()
{
return new ExternalTools();
}
private bool CheckDeviceName(string searchPattern, string deviceName, string deviceModel)
{
if (!Regex.IsMatch(deviceName, searchPattern, RegexOptions.IgnoreCase))
{
return Regex.IsMatch(deviceModel, searchPattern, RegexOptions.IgnoreCase);
}
return true;
}
private void SubscribeEvents()
{
UnsubscribeEvents();
SceneManager.sceneLoaded += OnSceneLoaded;
}
private void UnsubscribeEvents()
{
SceneManager.sceneLoaded -= OnSceneLoaded;
}
private void OnSceneLoaded(Scene scene, LoadSceneMode mode)
{
OnSceneLoaded();
}
}
}