EXControlButtonLoader.cpp 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. //
  2. // EXControlButtonLoader.cpp
  3. // cocos2d_libs
  4. //
  5. // Created by ZhengSong on 2020/4/14.
  6. //
  7. #include "editor-support/cocosbuilder/EXControlButtonLoader.h"
  8. using namespace cocos2d;
  9. using namespace cocos2d::extension;
  10. namespace cocosbuilder {;
  11. #define PROPERTY_ZOOMONTOUCHDOWN "zoomOnTouchDown"
  12. // TODO: Should be "preferredSize". This is a typo in cocos2d-iphone, cocos2d-x and CocosBuilder!
  13. #define PROPERTY_PREFEREDSIZE "preferedSize"
  14. #define PROPERTY_SCALERATIO "scaleRatio"
  15. void EXControlButtonLoader::onHandlePropTypeCheck(Node * pNode, Node * pParent, const char * pPropertyName, bool pCheck, CCBReader * ccbReader) {
  16. if(strcmp(pPropertyName, PROPERTY_ZOOMONTOUCHDOWN) == 0) {
  17. ((EXControlButton *)pNode)->setZoomOnTouchDown(pCheck);
  18. } else {
  19. ControlLoader::onHandlePropTypeCheck(pNode, pParent, pPropertyName, pCheck, ccbReader);
  20. }
  21. }
  22. void EXControlButtonLoader::onHandlePropTypeSize(Node * pNode, Node * pParent, const char * pPropertyName, Size pSize, CCBReader * ccbReader) {
  23. if(strcmp(pPropertyName, PROPERTY_PREFEREDSIZE) == 0) {
  24. ((EXControlButton *)pNode)->setPreferredSize(pSize);
  25. } else {
  26. ControlLoader::onHandlePropTypeSize(pNode, pParent, pPropertyName, pSize, ccbReader);
  27. }
  28. }
  29. void EXControlButtonLoader::onHandlePropTypeFloat(Node * pNode, Node * pParent, const char* pPropertyName, float pFloat, CCBReader * ccbReader) {
  30. // ASSERT_FAIL_UNEXPECTED_PROPERTY(pPropertyName);
  31. // It may be a custom property, add it to custom property dictionary.
  32. if(strcmp(pPropertyName, PROPERTY_SCALERATIO) == 0) {
  33. ((EXControlButton *)pNode)->setScaleRatio(pFloat);
  34. }else{
  35. ControlLoader::onHandlePropTypeFloat(pNode, pParent, pPropertyName, pFloat,ccbReader);
  36. }
  37. }
  38. };