Blame view

ios/Runner/Wowgame/Classes/game_toy/ToyScenarioHandler.h 5.89 KB
cb213901   xiaoyu   添加一个游戏的源码和编译选项
1
  //
5daad4bc   xiaoyu   游戏源码添加编译(现存问题:游戏内...
2
  //  ToyScenarioHandler.h
cb213901   xiaoyu   添加一个游戏的源码和编译选项
3
4
5
6
7
8
  //  SteveMaggieCpp
  //
  //  Created by Katarzyna Kalinowska-Górska on 23.05.2017.
  //
  //
  
5daad4bc   xiaoyu   游戏源码添加编译(现存问题:游戏内...
9
10
  #ifndef ToyScenarioHandler_h
  #define ToyScenarioHandler_h
cb213901   xiaoyu   添加一个游戏的源码和编译选项
11
12
  
  #include "json/document.h"
5daad4bc   xiaoyu   游戏源码添加编译(现存问题:游戏内...
13
14
15
16
  #include "ToyLayoutObject.h"
  //#include "ToyScenarioObject.h"
  #include "ToyActionParser.h"
  #include "ToyTimeIndicatorInterface.h"
cb213901   xiaoyu   添加一个游戏的源码和编译选项
17
  
5daad4bc   xiaoyu   游戏源码添加编译(现存问题:游戏内...
18
  class ToyParentScene;
cb213901   xiaoyu   添加一个游戏的源码和编译选项
19
  
5daad4bc   xiaoyu   游戏源码添加编译(现存问题:游戏内...
20
  class ToyScenarioHandler : public ToyScenarioObject, public ActionParseDelegate
cb213901   xiaoyu   添加一个游戏的源码和编译选项
21
22
23
24
25
26
27
28
  {
      public:
      
          static const std::string DEMO_STATE_UNINITIALIZED;
          static const std::string DEMO_STATE_PLAYING;
          static const std::string DEMO_STATE_FINISHED;
          static const std::string DEMO_STATE_NEVER_PLAYED;
  
5daad4bc   xiaoyu   游戏源码添加编译(现存问题:游戏内...
29
30
          ToyScenarioHandler(ToyParentScene* scene);
          virtual ~ToyScenarioHandler();
cb213901   xiaoyu   添加一个游戏的源码和编译选项
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
      
          virtual void end();
          virtual void loadScenarioFromJSONString(std::string jsonString, bool skipDemoActions);
          virtual void loadScenarioFromJSONObject(const rapidjson::Value& jsonObject, bool skipDemoActions, bool isReplay = false);
          virtual void reloadScenario(bool skipDemo, bool isReplay);
          virtual void runScenario();
          virtual void pauseScenario();
          virtual void resumeScenario();
          virtual void resetScenario(bool skipDemo, bool reloadLayout = true);
      
          virtual std::string getDemoState(){ return _demoState; };
          virtual void stopAllActions();
      
          // sounds
      
          void preloadSoundEffects(std::vector<rapidjson::Value*> actions);
          void preloadSoundEffects(const rapidjson::Value& action);
          void stopAllSoundEffects();
      
          // timer
          void startTimer(float pTimeToFinish, float step, const rapidjson::Value* actionsOnProgressStep, const rapidjson::Value* actionsOnTimeUp, bool finishScenarioAfterTimeUp, std::string timeIndicatorObjectName);
          void stopTimer();
          void pauseTimer();
          void resumeTimer();
5daad4bc   xiaoyu   游戏源码添加编译(现存问题:游戏内...
55
56
57
  
          // review prompt
          void countUpRateMePromptCounter();
cb213901   xiaoyu   添加一个游戏的源码和编译选项
58
59
      
          // ActionParseDelegate
5daad4bc   xiaoyu   游戏源码添加编译(现存问题:游戏内...
60
61
62
63
          virtual ToyScenarioObject* getObjectByName(std::string objectName) override;
          virtual ToyScenarioObject* getDefaultObjectForAction(std::string actionType) override;
          virtual ToyScenarioObject* getDefaultObjectForConditionCheck() override;
          virtual void addNewObject(std::string objectName, ToyScenarioObject* newObject) override;
cb213901   xiaoyu   添加一个游戏的源码和编译选项
64
65
          virtual std::string getDefaultSoundsPath() override;
          virtual std::string getAlternativeSoundsPath() override;
5daad4bc   xiaoyu   游戏源码添加编译(现存问题:游戏内...
66
          virtual std::string getToyValueStorageContainerName() override;
cb213901   xiaoyu   添加一个游戏的源码和编译选项
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
          virtual void runAction(cocos2d::Action* action) override;
          virtual void actionFinished(const rapidjson::Value& jsonActionObject) override;
          virtual void runInstantly(std::function<void()> actionFunction) override;
          virtual void runCompletingAction(cocos2d::Action* action) override;
          virtual void cancelAllCompletingActions() override;
          virtual void schedule(std::function<void(float)> callback, std::string key, float delay) override;
          virtual void scheduleOnce(std::function<void(float)> callback, float delay, std::string key) override;
          virtual void unschedule(std::string key) override;
          virtual void newTouchHandler(std::string key, TouchHandlerFunction touchHandler, TouchHandlerType touchType) override;
          virtual void removeTouchHandler(std::string key, TouchHandlerType touchType) override;
          virtual long long getLastScreenTouchTime() override;
          virtual int getLoopActionCounter(std::string loopId) override;
          virtual int addNewLoopActionCounter(std::string loopId, int timesRepeated) override;
          virtual int decrementLoopActionCounter(std::string loopId) override;
          virtual void deleteLoopActionCounter(std::string loopId) override;
          virtual void setLastActionIndex(int index) override;
          virtual unsigned int removeStoredSoundId(std::string soundPath) override;
          virtual void storeSoundId(std::string soundPath, unsigned int newSoundId) override;
      
5daad4bc   xiaoyu   游戏源码添加编译(现存问题:游戏内...
86
          // ToyScenarioObject
cb213901   xiaoyu   添加一个游戏的源码和编译选项
87
88
89
90
91
92
93
          virtual void setProperty(std::string propertyName, const rapidjson::Value& newValue, ActionParseDelegate* parseDelegate) override;
          virtual void callFunctionByName(std::string methodName, const rapidjson::Value* arguments, ActionParseDelegate* parseDelegate, std::function<void()> callback = [](){}) override;
      
          virtual bool shouldSkipLayoutReloadOnFastForward(){return _shouldSkipLayoutReloadOnFastForward; }
      
      protected:
      
5daad4bc   xiaoyu   游戏源码添加编译(现存问题:游戏内...
94
          ToyParentScene* _scene;
cb213901   xiaoyu   添加一个游戏的源码和编译选项
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
      
          std::string _soundsResFolder;
          std::string _altSoundsResFolder;
      
          bool _shouldSkipLayoutReloadOnFastForward;
      
          std::string _valueStorageContainerName;
          std::string _cachedJSONString;
          rapidjson::Document* _cachedJSONData;
          std::vector<rapidjson::Value*> _actionsSequence;
          std::map<std::string, rapidjson::Value*> _predefinedActions;
          std::map<std::string, int> _loopActionCounters;
          int _lastActionIndex;
          std::vector<int> _currentCompletingActionTags;
      
  //        rapidjson::Value* _onTimerCountdownAction;
          std::vector<rapidjson::Value*> _actionsOnTimerUp;
      
          bool _scenarioPaused;
          bool _scenarioBarred;
          bool _scenarioFinished;
          bool _timerRunning;
          float _timerStep;
          float _timePassed;
          float _totalTimerTime;
5daad4bc   xiaoyu   游戏源码添加编译(现存问题:游戏内...
120
          ToyTimeIndicatorInterface* _timeSlider;
cb213901   xiaoyu   添加一个游戏的源码和编译选项
121
122
123
124
125
126
127
128
129
130
131
132
133
      
          std::string _demoState;
          std::map<std::string, int> _storedSoundIds;
      
          virtual void clearSetup();
          virtual void clearAllScheduledActions();
      
          virtual void prepareAction(const rapidjson::Value* action);
          virtual void trimActions(std::vector<rapidjson::Value*>& actions);
          virtual void mergeSequences(std::vector<rapidjson::Value*>& actions);
          void simpleCopyActionsToMainSequence(std::vector<rapidjson::Value*> actions);
  };
  
5daad4bc   xiaoyu   游戏源码添加编译(现存问题:游戏内...
134
  #endif /* ToyScenarioHandler_h */
cb213901   xiaoyu   添加一个游戏的源码和编译选项