123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- #include "RedreamLoader.h"
- RedreamLoader::RedreamLoader() {
- }
- RedreamLoader::~RedreamLoader() {
- _mapChilden.clear();
- if (_loaderReboltRedManager != nullptr) {
- _loaderReboltRedManager->release();
- _loaderReboltRedManager = nullptr;
- }
- }
- RedreamLoader* RedreamLoader::Layer(string file) {
- auto lib = redream::NodeLoaderLibrary::newDefaultNodeLoaderLibrary();
- lib->registerNodeLoader("RedreamLoader",RedreamLoaderLoader::loader());
- redream::REDReader* reader = new redream::REDReader(lib);
- RedreamLoader* node = (RedreamLoader*)reader->readNodeGraphFromFile(file.c_str());
- reader->autorelease();
- return node;
- }
- RedreamLoader* RedreamLoader::LayerWithLib(string file,redream::NodeLoaderLibrary* lib) {
- lib->registerNodeLoader("RedreamLoader",RedreamLoaderLoader::loader());
- redream::REDReader* reader = new redream::REDReader(lib);
- RedreamLoader* node = (RedreamLoader*)reader->readNodeGraphFromFile(file.c_str());
- reader->autorelease();
- return node;
- }
- RedreamLoader* RedreamLoader::ReboltLayer(string file) {
- auto reboltlib = redream::NodeLoaderLibrary::newDefaultNodeLoaderLibrary();
- reboltlib->registerNodeLoader("RedreamLoader",RedreamLoaderLoader::loader());
- redream::REDReader* reboltReader = new redream::REDReader(reboltlib);
- RedreamLoader* tmpNode = nullptr;
- try {
- tmpNode = (RedreamLoader*)reboltReader->readNodeGraphFromFile(file.c_str());
- redream::ReboltRedManager* reboltM = reboltReader->getReboltRedManager();
- reboltM->retain();
- reboltM->setNotifyDevelopmentDelegate(tmpNode);
- auto reboltmangs = reboltReader->getReboltRedManagerMapPtr();
- for (auto it = reboltmangs->begin(); it != reboltmangs->end(); it++) {
- auto rrm = it->second;
- rrm->setNotifyDevelopmentDelegate(tmpNode);
- }
- tmpNode->_loaderReboltRedManager = reboltM;
- reboltReader->release();
- } catch (string str) {
- CCLOG("loader error : %s", str.c_str());
- assert(false);
- }
- return tmpNode;
- }
- RedreamLoader* RedreamLoader::ReboltLayerWithLib(string file,redream::NodeLoaderLibrary* reboltlib) {
- reboltlib->registerNodeLoader("RedreamLoader",RedreamLoaderLoader::loader());
- redream::REDReader* reboltReader = new redream::REDReader(reboltlib);
- RedreamLoader* tmpNode = nullptr;
- try {
- tmpNode = (RedreamLoader*)reboltReader->readNodeGraphFromFile(file.c_str());
- redream::ReboltRedManager* reboltM = reboltReader->getReboltRedManager();
- reboltM->retain();
- reboltM->setNotifyDevelopmentDelegate(tmpNode);
- auto reboltmangs = reboltReader->getReboltRedManagerMapPtr();
- for (auto it = reboltmangs->begin(); it != reboltmangs->end(); it++) {
- auto rrm = it->second;
- rrm->setNotifyDevelopmentDelegate(tmpNode);
- }
- tmpNode->_loaderReboltRedManager = reboltM;
- reboltReader->release();
- } catch (string str) {
- CCLOG("loader error : %s", str.c_str());
- assert(false);
- }
- return tmpNode;
- }
- SEL_MenuHandler RedreamLoader::onResolveREDCCMenuItemSelector(Ref* pTarget,const char* pSelectorName) {
- return nullptr;
- }
- cocos2d::extension::Control::Handler RedreamLoader::onResolveREDCCControlSelector(cocos2d::Ref* pTarget,const char* pSelectorName) {
- //RED_SELECTORRESOLVER_CCCONTROL_GLUE(this, "OnClickCCBButton", RedreamLoader::OnClickCCBButton);
- return nullptr;
- }
- cocos2d::SEL_CallFuncN RedreamLoader::onResolveREDCCCallFuncSelector(cocos2d::Ref* pTarget,const char* pSelectorName) {
- //RED_SELECTORRESOLVER_CALLFUNC_GLUE(this,"onCCBTimeLineCallBacks",RedreamLoader::onCCBTimeLineCallBacks);
- return nullptr;
- }
- bool RedreamLoader::onAssignREDMemberVariable(cocos2d::Ref* pTarget,const char* pMemberVariableName,cocos2d::Node* node) {
- if (pTarget == this && node != this && strcmp(pMemberVariableName,"") != 0) {
- _mapChilden.insert(pair<string,Node*>(string(pMemberVariableName),node));
- return true;
- }
- return false;
- }
- void RedreamLoader::onNodeLoaded(cocos2d::Node* node,redream::NodeLoader* nodeLoader) {
- //loaded after
- }
- void RedreamLoader::completedAnimationSequenceNamed(const char* name,int seqId,int tag) {
- }
- Node* RedreamLoader::getByName(std::string name) {
- return _mapChilden[name];
- }
- Sprite* RedreamLoader::getSprite(std::string name) {
- return (Sprite*)_mapChilden[name];
- }
- Label* RedreamLoader::getLabel(std::string name) {
- return (Label*)_mapChilden[name];
- }
- ParticleSystemQuad* RedreamLoader::getParticle(std::string name) {
- return (ParticleSystemQuad*)_mapChilden[name];
- }
- redream::REDNodeButton* RedreamLoader::getREDNodeButton(std::string name) {
- return dynamic_cast<redream::REDNodeButton*>(_mapChilden[name]);
- }
- RedreamLoader* RedreamLoader::getSubLoader(std::string name) {
- return (RedreamLoader*)_mapChilden[name];
- }
- void RedreamLoader::stopAnimAll() {
- this->stopAllActions();
- }
- float RedreamLoader::playAnim(std::string anim) {
- Ref* obj = this->getUserObject();
- redream::REDAnimationManager* ret = dynamic_cast<redream::REDAnimationManager*>(obj);
- if (ret != nullptr) {
- ret->runAnimationsForSequenceNamed(anim.c_str());
- return ret->getSequenceDuration(anim.c_str());
- }
- return 0;
- }
- float RedreamLoader::getAnimTime(std::string anim) {
- Ref* obj = this->getUserObject();
- redream::REDAnimationManager* ret = dynamic_cast<redream::REDAnimationManager*>(obj);
- if (ret != nullptr) {
- return ret->getSequenceDuration(anim.c_str());
- }
- return 0;
- }
- redream::ReboltRedManager* RedreamLoader::getReboltManager() {
- return _loaderReboltRedManager;
- }
- void RedreamLoader::onNotifyDevelopment(redream::ReboltRedManager* reboltRedManager,redream::NotifyDevelopmentWaiter* waiter,std::string notify,std::string param,bool reboltIsWait,Node* outNode) {
- if (_reboltCallBack != nullptr) {
- _reboltCallBack(reboltRedManager,waiter,notify,param,reboltIsWait,outNode);
- }
- }
|