using System.Collections.Generic; using UnityEngine; public enum InputMode { Camera, ObjectDragging, UI, Gizmo, } public class InputModeManager { private static readonly List _list = new List(); public static InputMode Current => _list.Count > 0 ? _list[_list.Count - 1] : InputMode.Camera; public static void Push(InputMode mode) => _list.Add(mode); public static void Pop(InputMode mode) { if (_list.Count > 0) _list.Remove(mode); } public static bool Has(InputMode mode) => _list.Contains(mode); public static bool Is(InputMode mode) => Current == mode; public static void debugCurrentList() { foreach (InputMode mode in _list) Debug.Log(mode); } }