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); } }
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; } }
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); }