using System.Collections.Generic; using UnityEngine; using Wizard; public class InputMgr { public enum TYPE { NONE, PRESS, DOWN, UP} public enum LAYER_TYPE { NONE = 0, UI = 32, GAME = 512, ALL = 65535 } private enum ClickState { None, UpThisFrame, DownMoved } private enum DoubleClickState { None, SecondClickUp } private Vector2 m_NonePos = new Vector2(-10000f, -10000f); private IList m_NowTypeList = new List(); private int m_LayerMask; private IList m_FirstPosList = new List(); private IList m_NowPosList = new List(); private IList m_FixedPosList = new List(); private IList m_EndPosList = new List(); private float m_DraggingSec; private bool m_IsFlick; private IList m_DragEfcList = new List(); public BattleCamera m_BattleCamera; private bool _wentOverDrag; public static bool MouseControl; private DoubleClickState _doubleClick; private ClickState _clickState; public bool WentOverDrag { get { return _wentOverDrag; } set { _wentOverDrag = value; } } public static bool ShowDetailLeftAndRight => MouseControl; public InputMgr() { m_LayerMask = 0; for (int i = 0; i < 1; i++) { m_NowTypeList.Add(TYPE.NONE); m_FirstPosList.Add(m_NonePos); m_NowPosList.Add(m_NonePos); m_EndPosList.Add(m_NonePos); m_FixedPosList.Add(m_NonePos); m_DragEfcList.Add(null); } m_DraggingSec = 0f; m_IsFlick = false; Input.multiTouchEnabled = false; MouseControl = PlayerPrefsWrapper.GetBool(PlayerPrefsWrapper.MOUSE_CONTROL); } public void SetBattleCamera(BattleCamera battleCamera) { m_BattleCamera = battleCamera; } public bool IsNone() { if (m_NowTypeList[0] == TYPE.NONE) { return true; } return false; } public bool IsPress() { if (m_NowTypeList[0] == TYPE.PRESS) { return true; } return false; } public bool IsDown() { if (m_NowTypeList[0] == TYPE.DOWN) { return true; } return false; } public bool IsUp() { if (m_NowTypeList[0] == TYPE.UP) { return true; } return false; } public Vector2 GetFirstPos() { return m_FirstPosList[0]; } public Vector2 GetPos() { return m_NowPosList[0]; } public bool IsDoubleClick() { return _doubleClick == DoubleClickState.SecondClickUp; } public bool IsClick() { return _clickState == ClickState.UpThisFrame; } public bool IsDownMoved() { return _clickState == ClickState.DownMoved; } public bool IsOverDragDistanceMulligan() { return Vector2.Distance(GetPos(), GetFirstPos()) > 40f; } }