Beispiel #1
0
        public void DisableFingerEvent <T> (CocoGestureType gestureType, System.Action <T> onGestureAction)
            where T : FingerEvent, new ()
        {
            if (onGestureAction == null)
            {
                return;
            }

            if (!_gestureConfigDataDic.ContainsKey(gestureType))
            {
                return;
            }

            CocoTouchPriorityFingerEventConfigData <T> configData =
                _gestureConfigDataDic [gestureType] as CocoTouchPriorityFingerEventConfigData <T>;

            if (configData == null)
            {
                return;
            }

            configData.OnGesture -= onGestureAction;
            if (configData.OnGesture == null)
            {
                UnListenGesture(gestureType);
                _gestureConfigDataDic.Remove(gestureType);
            }
        }
Beispiel #2
0
        public void EnabledFingerEvent <T> (CocoGestureType gestureType, System.Action <T> onGestureAction)
            where T : FingerEvent, new ()
        {
            if (onGestureAction == null)
            {
                return;
            }

            CocoTouchPriorityFingerEventConfigData <T> configData = GetOrAddFingerEventConfigData <T> (gestureType);

            if (configData != null)
            {
                configData.OnGesture += onGestureAction;
            }
        }
Beispiel #3
0
        private CocoTouchPriorityFingerEventConfigData <T> GetOrAddFingerEventConfigData <T> (CocoGestureType gestureType) where T : FingerEvent, new ()
        {
            CocoTouchPriorityFingerEventConfigData <T> configData;

            if (_gestureConfigDataDic.ContainsKey(gestureType))
            {
                configData = _gestureConfigDataDic [gestureType] as CocoTouchPriorityFingerEventConfigData <T>;
                if (configData == null)
                {
                    Debug.LogErrorFormat("{0}->GetOrAddGestureConfigData: can NOT convert gesture [{1}] to type [{2}].", GetType().Name, gestureType,
                                         typeof(CocoTouchPriorityFingerEventConfigData <T>).Name);
                }
            }
            else
            {
                ListenGesture(gestureType);
                configData = new CocoTouchPriorityFingerEventConfigData <T> (gestureType);
                _gestureConfigDataDic.Add(gestureType, configData);
            }

            return(configData);
        }