Esempio n. 1
0
 public HotKeyEvent(FUNC_HOTKEY_EVENT funcEvent, string label, KeyCode keyCode, bool isShift, bool isAlt, bool isCtrl)
 {
     _funcEvent = funcEvent;
     _label     = label;
     _keyCode   = keyCode;
     _isShift   = isShift;
     _isAlt     = isAlt;
     _isCtrl    = isCtrl;
 }
Esempio n. 2
0
 public HotKeyEvent()
 {
     _keyCode = KeyCode.Space;
     //_label;
     _isShift       = false;
     _isAlt         = false;
     _isCtrl        = false;
     _paramObject   = null;
     _funcEvent     = null;
     _isCombination = false;
 }
Esempio n. 3
0
            public void SetEvent(FUNC_HOTKEY_EVENT funcEvent, string label, KeyCode keyCode, bool isShift, bool isAlt, bool isCtrl, object paramObject)
            {
                _funcEvent = funcEvent;
                _label     = label;
                _keyCode   = keyCode;
                _isShift   = isShift;
                _isAlt     = isAlt;
                _isCtrl    = isCtrl;

                _isCombination = _isShift || _isAlt || _isCtrl;

                _paramObject = paramObject;
            }
Esempio n. 4
0
        // 변경 3.25 : 매번 생성하는 방식에서 Pop 방식으로 변경
        private HotKeyEvent PopEvent(FUNC_HOTKEY_EVENT funcEvent, string label, KeyCode keyCode, bool isShift, bool isAlt, bool isCtrl, object paramObject)
        {
            if (_iEvent >= _hotKeyEvents_Pool.Count)
            {
                //두개씩 늘리자
                for (int i = 0; i < 2; i++)
                {
                    _hotKeyEvents_Pool.Add(new HotKeyEvent());
                }

                //Debug.Log("입력 풀 부족 : " + _hotKeyEvents_Pool.Count + " [" + label + "]");
            }

            HotKeyEvent result = _hotKeyEvents_Pool[_iEvent];

            _iEvent++;
            result.SetEvent(funcEvent, label, keyCode, isShift, isAlt, isCtrl, paramObject);
            return(result);
        }
Esempio n. 5
0
        //		public apHotKey.HotKeyEvent OnKeyDown(KeyCode keyCode, bool isCtrl, bool isShift, bool isAlt)
        //		{
        //			Debug.Log("OnKeyDown : " + keyCode);
        //			if(keyCode == KeyCode.None)
        //			{
        //				return null;
        //			}

        //			if(_isLock)
        //			{
        //				Debug.LogWarning("키 입력 되었으나 Lock [" + keyCode + "]");
        //				return null;
        //			}

        //			if(_prevKey == keyCode)
        //			{
        //				Debug.Log(">> 이전 키와 같음 : " + keyCode);
        //				return null;
        //			}

        //			_prevKey = keyCode;

        //			Debug.LogWarning("Key Down : " + keyCode);


        //			//추가적으로, 유니티에서 제공하는 값에 따라서도 변동
        //			if(isCtrl)
        //			{
        //				_isSpecialKey_Ctrl = true;
        //			}
        //			if(isShift)
        //			{
        //				_isSpecialKey_Shift = true;
        //			}
        //			if (isAlt)
        //			{
        //				_isSpecialKey_Alt = true;
        //			}

        //			switch (keyCode)
        //			{
        //				// Special Key
        //#if UNITY_EDITOR_OSX
        //				case KeyCode.LeftCommand:
        //				case KeyCode.RightCommand:
        //#else
        //				case KeyCode.LeftControl:
        //				case KeyCode.RightControl:
        //#endif
        //					_isSpecialKey_Ctrl = true;
        //					break;

        //				case KeyCode.LeftShift:
        //				case KeyCode.RightShift:
        //					_isSpecialKey_Shift = true;
        //					break;

        //				case KeyCode.LeftAlt:
        //				case KeyCode.RightAlt:
        //					_isSpecialKey_Alt = true;
        //					break;

        //				default:
        //					//그 외의 키값이라면..
        //					_mainKey = keyCode;

        //					//해당하는 이벤트가 있는가?
        //					apHotKey.HotKeyEvent hotkeyEvent = CheckHotKeyEvent(_mainKey, _isSpecialKey_Shift, _isSpecialKey_Alt, _isSpecialKey_Ctrl);
        //					if(hotkeyEvent != null)
        //					{
        //						//일단 이 메인 키를 누른 상태에서 Lock을 건다.
        //						_isLock = true;

        //						return hotkeyEvent;
        //					}
        //					break;
        //			}

        //			return null;

        //		}

        //		public void OnKeyUp(KeyCode keyCode, bool isCtrl, bool isShift, bool isAlt)
        //		{
        //			if(keyCode == KeyCode.None)
        //			{
        //				return;
        //			}

        //			//추가적으로, 유니티에서 제공하는 값에 따라서도 변동 (False로만)
        //			if(!isCtrl)
        //			{
        //				_isSpecialKey_Ctrl = false;
        //			}
        //			if(!isShift)
        //			{
        //				_isSpecialKey_Shift = false;
        //			}
        //			if (!isAlt)
        //			{
        //				_isSpecialKey_Alt = false;
        //			}

        //			Debug.LogError("Key Up : " + keyCode);
        //			_prevKey = KeyCode.None;

        //			//Lock을 풀 수 있을까
        //			switch (keyCode)
        //			{
        //				// Special Key
        //#if UNITY_EDITOR_OSX
        //				case KeyCode.LeftCommand:
        //				case KeyCode.RightCommand:
        //#else
        //				case KeyCode.LeftControl:
        //				case KeyCode.RightControl:
        //#endif
        //					_isSpecialKey_Ctrl = false;
        //					break;

        //				case KeyCode.LeftShift:
        //				case KeyCode.RightShift:
        //					_isSpecialKey_Shift = false;
        //					break;

        //				case KeyCode.LeftAlt:
        //				case KeyCode.RightAlt:
        //					_isSpecialKey_Alt = false;
        //					break;

        //				default:
        //					if(keyCode == _mainKey)
        //					{
        //						//Lock을 풀자
        //						_isLock = false;

        //						Debug.Log("[" + _mainKey + "] 단축키 Lock 해제됨");
        //						_mainKey = KeyCode.ScrollLock;
        //					}
        //					break;
        //			}

        //		}
        #endregion

        // Functions
        //------------------------------------------------------------------------------
        public void AddHotKeyEvent(FUNC_HOTKEY_EVENT funcEvent, string label, KeyCode keyCode, bool isShift, bool isAlt, bool isCtrl, object paramObject)
        {
            _hotKeyEvents_Live.Add(PopEvent(funcEvent, label, keyCode, isShift, isAlt, isCtrl, paramObject));
            _isAnyEvent = true;
        }
Esempio n. 6
0
 // Functions
 //---------------------------------------------
 public void AddHotKeyEvent(FUNC_HOTKEY_EVENT funcEvent, string label, KeyCode keyCode, bool isShift, bool isAlt, bool isCtrl)
 {
     _hotKeyEvents.Add(new HotKeyEvent(funcEvent, label, keyCode, isShift, isAlt, isCtrl));
     _isAnyEvent = true;
 }