using System; using RebootKit.Engine.Foundation; using UnityEngine; using UnityEngine.InputSystem; namespace RebootKit.Engine.Services.Input { public class InputService : IService { readonly Config m_Config; public InputService(Config config) { m_Config = config; } public void Dispose() { } public void EnableControls() { m_Config.inputAsset.Enable(); } public void DisableControls() { m_Config.inputAsset.Disable(); } public InputAction FindInputAction(string path) { return m_Config.inputAsset.FindAction(path); } public void LockCursor() { Cursor.lockState = CursorLockMode.Locked; Cursor.visible = false; } public void UnlockCursor() { Cursor.lockState = CursorLockMode.None; Cursor.visible = true; } [Serializable] public class Config { public InputActionAsset inputAsset; } } }