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
 
添加一个游戏的源码和编译选项
 | 
 | 
 
 |