123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- //
- // RUReboltLayer.h
- // red_utils
- //
- // Created by ZhengSong on 2023/1/6.
- //
- #ifndef RUReboltLayer_h
- #define RUReboltLayer_h
- #include "Redream.h"
- #include "RUDefine.h"
- NS_RU_BEGIN
- struct ReboltNotifyData {
- redream::ReboltRedManager* reboltRedManager = nullptr;
- redream::NotifyDevelopmentWaiter* waiter = nullptr;
- std::string notify;
- std::string param;
- bool reboltIsWait = false;
- cocos2d::Node* outNode = nullptr;
- };
- class RUReboltLayer
- : public Layer
- ,public redream::NotifyDevelopmentDelegate
- {
- public:
- RUReboltLayer();
- virtual ~RUReboltLayer();
- CREATE_FUNC(RUReboltLayer);
-
- static void setGlobalDataVar(std::string key, std::string content);
-
- static RUReboltLayer* createReboltLayer(const std::string& fileName, redream::NodeLoaderLibrary* ccNodeLoaderLibrary = nullptr);
- static RUReboltLayer* creatBatchReboltLayer(const std::string& fileName,unordered_set<string> plistSt,unordered_set<string> repleacPlistSt);
- static RUReboltLayer* creatBatchReboltLayer(const std::string& fileName,unordered_set<string> plistSt);
-
- virtual void onNotifyDevelopment(redream::ReboltRedManager* reboltRedManager, redream::NotifyDevelopmentWaiter* waiter, std::string notify, std::string param, bool reboltIsWait, Node* outNode) override;
- virtual std::string runBehaviacWhitFunName(std::string name, std::map<std::string, bool> boolMap = {}, std::map<std::string, std::string> stringMap = {});
- virtual void setReboltRedManger(redream::ReboltRedManager* rs);
- bool hasBehaviacWithFuncName(std::string name);
- void setCoderDataVar(std::string key, std::string content);
- virtual void registerOnNotify(const std::function<void(const ReboltNotifyData&)>& notifyCallback);
- virtual void registerOnExit(const std::function<void()>& func);
- virtual void registerOnEnter(const std::function<void()>& func);
- void onExit() override;
- void onEnter() override;
- private:
- redream::ReboltRedManager* _rs = nullptr;
- std::function<void(const ReboltNotifyData&)> _onNotifyCallback = nullptr;
- std::function<void()> _onEnterCb = nullptr;
- std::function<void()> _onExitCb = nullptr;
- };
- NS_RU_END
- #endif /* RUReboltLayer_h */
|