// // EXControlButtonLoader.cpp // cocos2d_libs // // Created by ZhengSong on 2020/4/14. // #include "editor-support/cocosbuilder/EXControlButtonLoader.h" using namespace cocos2d; using namespace cocos2d::extension; namespace cocosbuilder {; #define PROPERTY_ZOOMONTOUCHDOWN "zoomOnTouchDown" // TODO: Should be "preferredSize". This is a typo in cocos2d-iphone, cocos2d-x and CocosBuilder! #define PROPERTY_PREFEREDSIZE "preferedSize" #define PROPERTY_SCALERATIO "scaleRatio" void EXControlButtonLoader::onHandlePropTypeCheck(Node * pNode, Node * pParent, const char * pPropertyName, bool pCheck, CCBReader * ccbReader) { if(strcmp(pPropertyName, PROPERTY_ZOOMONTOUCHDOWN) == 0) { ((EXControlButton *)pNode)->setZoomOnTouchDown(pCheck); } else { ControlLoader::onHandlePropTypeCheck(pNode, pParent, pPropertyName, pCheck, ccbReader); } } void EXControlButtonLoader::onHandlePropTypeSize(Node * pNode, Node * pParent, const char * pPropertyName, Size pSize, CCBReader * ccbReader) { if(strcmp(pPropertyName, PROPERTY_PREFEREDSIZE) == 0) { ((EXControlButton *)pNode)->setPreferredSize(pSize); } else { ControlLoader::onHandlePropTypeSize(pNode, pParent, pPropertyName, pSize, ccbReader); } } void EXControlButtonLoader::onHandlePropTypeFloat(Node * pNode, Node * pParent, const char* pPropertyName, float pFloat, CCBReader * ccbReader) { // ASSERT_FAIL_UNEXPECTED_PROPERTY(pPropertyName); // It may be a custom property, add it to custom property dictionary. if(strcmp(pPropertyName, PROPERTY_SCALERATIO) == 0) { ((EXControlButton *)pNode)->setScaleRatio(pFloat); }else{ ControlLoader::onHandlePropTypeFloat(pNode, pParent, pPropertyName, pFloat,ccbReader); } } };