Blame view

ios/Runner/Wowgame/Classes/game_animal/AniMultipleTouchGestureRecognizer.h 2.67 KB
5daad4bc   xiaoyu   游戏源码添加编译(现存问题:游戏内...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
  //
  //  AniMultipleTouchGestureRecognizer.h
  //  SteveMaggieCpp
  //
  //  Created by Katarzyna Kalinowska-Górska on 19.05.2017.
  //
  //
  
  #ifndef AniMultipleTouchGestureRecognizer_h
  #define AniMultipleTouchGestureRecognizer_h
  
  #include "AniGestureRecognizer.h"
  
  class AniMultipleTouchGestureRecognizer : public AniGestureRecognizer
  {
      public:
          AniMultipleTouchGestureRecognizer();
          virtual ~AniMultipleTouchGestureRecognizer();
      
          virtual void setOnSingleTouchDetectedCallback(std::function<void(AniGestureRecognizer::TouchData touchData)> callback);
          virtual void setOnSingleTouchMovedCallback(std::function<void(AniGestureRecognizer::TouchData touchData)> callback);
          virtual void setOnSingleTouchEndedCallback(std::function<void(AniGestureRecognizer::TouchData touchData)> callback);
      
          virtual void setOnMultipleTouchDetectedCallback(std::function<void(std::vector<AniGestureRecognizer::TouchData>)> callback);
          virtual void setOnMultipleTouchMovedCallback(std::function<void(std::vector<AniGestureRecognizer::TouchData>)> callback);
          virtual void setOnMultipleTouchEndedCallback(std::function<void(std::vector<AniGestureRecognizer::TouchData>)> callback);
      
      protected:
      
          std::function<void(AniGestureRecognizer::TouchData)> _onSingleTouchDetectedCallback;
          std::function<void(AniGestureRecognizer::TouchData)> _onSingleTouchMovedCallback;
          std::function<void(AniGestureRecognizer::TouchData)> _onSingleTouchEndedCallback;
      
          std::function<void(std::vector<AniGestureRecognizer::TouchData>)> _onMultipleTouchDetectedCallback;
          std::function<void(std::vector<AniGestureRecognizer::TouchData>)> _onMultipleTouchMovedCallback;
          std::function<void(std::vector<AniGestureRecognizer::TouchData>)> _onMultipleTouchEndedCallback;
      
  //    onMultipleTouchFingerAdded : function(touches){ //TODO, now unhandled
  //    onMultipleTouchFingerRemoved : function(touches){ //TODO, now unhandled
  
          std::function<void(float)> _singleTouchHelperCallback;
          bool _singleTouchHelperCallbackScheduled;
          bool _singleTouchInProgress;
          bool _multipleTouchInProgress;
      
          const std::string SingleTouchHelperCallbackKey = "AniMultipleTouchGestureRecognizer_singleTouchHelperCallback";
      
          //////
          virtual bool onTouchesBegan(const std::vector<cocos2d::Touch*>& touches, cocos2d::Event* event) override;
          virtual void onTouchesMoved(const std::vector<cocos2d::Touch*>& touches, cocos2d::Event* event) override;
          virtual void onTouchesEnded(const std::vector<cocos2d::Touch*>& touches, cocos2d::Event* event) override;
  };
  
  #endif /* AniMultipleTouchGestureRecognizer_h */