12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- //
- // REDNodeButtonLoader.cpp
- // cocos2d_libs
- //
- // Created by ZhengSong on 2020/4/14.
- //
- #include "REDNodeButtonLoader.h"
- using namespace cocos2d;
- namespace redream {;
- #define PROPERTY_ZOOMONTOUCHDOWN "zoomOnTouchDown"
- #define PROPERTY_WISETOUCHDOWN "wiseOnTouchDown"
- #define PROPERTY_WISETOUCHUPINSIDE "wiseOnTouchUpInside"
- // TODO: Should be "preferredSize". This is a typo in cocos2d-iphone, cocos2d-x and CocosBuilder!
- #define PROPERTY_PREFEREDSIZE "preferedSize"
- #define PROPERTY_SCALERATIO "scaleRatio"
- void REDNodeButtonLoader::onHandlePropTypeCheck(Node * pNode, Node * pParent, const char * pPropertyName, bool pCheck, REDReader * redReader) {
- if(strcmp(pPropertyName, PROPERTY_ZOOMONTOUCHDOWN) == 0) {
- ((REDNodeButton *)pNode)->setZoomOnTouchDown(pCheck);
- } else {
- ControlLoader::onHandlePropTypeCheck(pNode, pParent, pPropertyName, pCheck, redReader);
- }
- }
- void REDNodeButtonLoader::onHandlePropTypeSize(Node * pNode, Node * pParent, const char * pPropertyName, Size pSize, REDReader * redReader) {
- if(strcmp(pPropertyName, PROPERTY_PREFEREDSIZE) == 0) {
- ((REDNodeButton *)pNode)->setPreferredSize(pSize);
- } else {
- ControlLoader::onHandlePropTypeSize(pNode, pParent, pPropertyName, pSize, redReader);
- }
- }
- void REDNodeButtonLoader::onHandlePropTypeFloat(Node * pNode, Node * pParent, const char* pPropertyName, float pFloat, REDReader * redReader) {
- // ASSERT_FAIL_UNEXPECTED_PROPERTY(pPropertyName);
- // It may be a custom property, add it to custom property dictionary.
- if(strcmp(pPropertyName, PROPERTY_SCALERATIO) == 0) {
- ((REDNodeButton *)pNode)->setScaleRatio(pFloat);
- }else{
- ControlLoader::onHandlePropTypeFloat(pNode, pParent, pPropertyName, pFloat,redReader);
- }
-
- }
- void REDNodeButtonLoader::onHandlePropTypeWise(cocos2d::Node* pNode, cocos2d::Node* pParent, const char* pPropertyName, const WiseEventData& wiseEventData, REDReader* ccbReader){
- if (strcmp(pPropertyName, PROPERTY_WISETOUCHDOWN) == 0) {
- ((REDNodeButton*)pNode)->setTouchDownAudioData(wiseEventData.wiseBnkPath, wiseEventData.wiseEventName, wiseEventData.audioParams, wiseEventData.wiseForcePost);
- } else if(strcmp(pPropertyName, PROPERTY_WISETOUCHUPINSIDE) == 0) {
- ((REDNodeButton*)pNode)->setTouchUpInsideAudioData(wiseEventData.wiseBnkPath, wiseEventData.wiseEventName, wiseEventData.audioParams, wiseEventData.wiseForcePost);
- } else {
- NodeLoader::onHandlePropTypeWise(pNode, pParent, pPropertyName, wiseEventData, ccbReader);
- }
- }
- };
|