123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- //
- // RedBakeNodeLoader.cpp
- // redream_runtime
- //
- // Created by zhuge on 2023/8/10.
- //
- #include "RedBakeNodeLoader.h"
- #define PROPERTY_TEXTURE "texture"
- #define PROPERTY_BAKE_DATA_FILE "bakeDataFile"
- #define PROPERTY_BAKE_ANIMATION "bakeAnimation"
- namespace redream {
- RedBakeNode* RedBakeNodeLoader::createNode(cocos2d::Node * pParent, redream::REDReader * ccbReader) {
- auto bakeNode = RedBakeNode::create();
- bakeNode->schedule(CC_SCHEDULE_SELECTOR(RedBakeNode::update), 0);
- return bakeNode;
- }
- void RedBakeNodeLoader::onHandlePropTypeTexture(cocos2d::Node *pNode, cocos2d::Node *pParent, const char *pPropertyName, cocos2d::Texture2D *pTexture2D, REDReader *ccbReader) {
- if (strcmp(pPropertyName, PROPERTY_TEXTURE) == 0) {
- ((RedBakeNode*)pNode)->setTexture(pTexture2D);
- } else {
- NodeLoader::onHandlePropTypeTexture(pNode, pParent, pPropertyName, pTexture2D, ccbReader);
- }
- }
- void RedBakeNodeLoader::onHandlePropTypeSpriteFrame(cocos2d::Node *pNode, cocos2d::Node *pParent, const char *pPropertyName, cocos2d::SpriteFrame *pSpriteFrame, REDReader *ccbReader) {
- if (strcmp(pPropertyName, PROPERTY_TEXTURE) == 0) {
- ((RedBakeNode*)pNode)->setTexture(pSpriteFrame->getTexture());
- } else {
- NodeLoader::onHandlePropTypeSpriteFrame(pNode, pParent, pPropertyName, pSpriteFrame, ccbReader);
- }
- }
- void RedBakeNodeLoader::onHandlePropTypeBakeDataFile(cocos2d::Node *pNode, cocos2d::Node *pParent, const char *pPropertyName, const char *dataFile, REDReader *ccbReader) {
- if (strcmp(pPropertyName, PROPERTY_BAKE_DATA_FILE) == 0) {
- ((RedBakeNode*)pNode)->setBakeDataFile(dataFile);
- } else {
- NodeLoader::onHandlePropTypeBakeDataFile(pNode, pParent, pPropertyName, dataFile, ccbReader);
- }
- }
- void RedBakeNodeLoader::onHandlePropTypeBakeAnimation(cocos2d::Node *pNode, cocos2d::Node *pParent, const char *pPropertyName, const char *animationName, float elapsedTime, bool loop, REDReader *ccbReader) {
- if (strcmp(pPropertyName, PROPERTY_BAKE_ANIMATION) == 0) {
- ((RedBakeNode*)pNode)->setBakeFrame(RedBakeNodeFrame({animationName, elapsedTime, loop}));
- } else {
- NodeLoader::onHandlePropTypeBakeAnimation(pNode, pParent, pPropertyName, animationName, elapsedTime, loop, ccbReader);
- }
- }
- } // END NAMESPACE
|