示例#1
0
        public void DisableGesture <T> (CocoGestureType gestureType, System.Action <T> onGestureAction) where T : Gesture, new ()
        {
            if (onGestureAction == null)
            {
                return;
            }

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

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

            if (configData == null)
            {
                return;
            }

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

            CocoTouchPriorityGestureConfigData <T> configData = GetOrAddGestureConfigData <T> (gestureType);

            if (configData != null)
            {
                configData.OnGesture += onGestureAction;
            }
        }
示例#3
0
        private CocoTouchPriorityGestureConfigData <T> GetOrAddGestureConfigData <T> (CocoGestureType gestureType) where T : Gesture, new ()
        {
            CocoTouchPriorityGestureConfigData <T> configData;

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

            return(configData);
        }