83 lines
1.8 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|