using System; using UnityEngine; using UnityEngine.InputSystem; using UnityEngine.InputSystem.Utilities; namespace UnityEngine.InputSystem { #if DEBUG /// /// Snapshot of the state used by the input system. /// /// /// Can be taken across domain reloads. /// [Serializable] internal struct InputSystemState { [NonSerialized] public InputManager manager; [NonSerialized] public InputRemoting remote; [SerializeField] public RemoteInputPlayerConnection remoteConnection; [SerializeField] public InputManager.SerializedState managerState; [SerializeField] public InputRemoting.SerializedState remotingState; #if UNITY_EDITOR [SerializeField] public InputEditorUserSettings.SerializedState userSettings; [SerializeField] public string systemObject; #endif ////TODO: make these saved states capable of surviving domain reloads [NonSerialized] public ISavedState inputActionState; [NonSerialized] public ISavedState touchState; [NonSerialized] public ISavedState inputUserState; } #endif }