123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- #include "CCPUTextureRotatorTranslator.h"
- #include "extensions/Particle3D/PU/CCPUParticleSystem3D.h"
- #include "extensions/Particle3D/PU/CCPUDynamicAttribute.h"
- #include "extensions/Particle3D/PU/CCPUDynamicAttributeTranslator.h"
- NS_CC_BEGIN
- PUTextureRotatorTranslator::PUTextureRotatorTranslator()
- {
- }
- bool PUTextureRotatorTranslator::translateChildProperty( PUScriptCompiler* compiler, PUAbstractNode *node )
- {
- PUPropertyAbstractNode* prop = reinterpret_cast<PUPropertyAbstractNode*>(node);
- PUAffector* af = static_cast<PUAffector*>(prop->parent->context);
- PUTextureRotator* affector = static_cast<PUTextureRotator*>(af);
- if (prop->name == token[TOKEN_USE_OWN_ROTATION])
- {
-
- if (passValidateProperty(compiler, prop, token[TOKEN_USE_OWN_ROTATION], VAL_BOOL))
- {
- bool val;
- if(getBoolean(*prop->values.front(), &val))
- {
- affector->setUseOwnRotationSpeed(val);
- return true;
- }
- }
- }
- else if (prop->name == token[TOKEN_TEXROT_USE_OWN_ROTATION])
- {
-
- if (passValidateProperty(compiler, prop, token[TOKEN_TEXROT_USE_OWN_ROTATION], VAL_BOOL))
- {
- bool val;
- if(getBoolean(*prop->values.front(), &val))
- {
- affector->setUseOwnRotationSpeed(val);
- return true;
- }
- }
- }
- else if (prop->name == token[TOKEN_ROTATION_SPEED])
- {
-
- if (passValidateProperty(compiler, prop, token[TOKEN_ROTATION_SPEED], VAL_REAL))
- {
- float val = 0.0f;
- if(getFloat(*prop->values.front(), &val))
- {
- PUDynamicAttributeFixed* dynamicAttributeFixed = new (std::nothrow) PUDynamicAttributeFixed();
- dynamicAttributeFixed->setValue(val);
- affector->setRotationSpeed(dynamicAttributeFixed);
- return true;
- }
- }
- }
- else if (prop->name == token[TOKEN_TEXROT_ROTATION_SPEED])
- {
-
- if (passValidateProperty(compiler, prop, token[TOKEN_TEXROT_ROTATION_SPEED], VAL_REAL))
- {
- float val = 0.0f;
- if(getFloat(*prop->values.front(), &val))
- {
- PUDynamicAttributeFixed* dynamicAttributeFixed = new (std::nothrow) PUDynamicAttributeFixed();
- dynamicAttributeFixed->setValue(val);
- affector->setRotationSpeed(dynamicAttributeFixed);
- return true;
- }
- }
- }
- else if (prop->name == token[TOKEN_ROTATION])
- {
-
- if (passValidateProperty(compiler, prop, token[TOKEN_ROTATION], VAL_REAL))
- {
- float val = 0.0f;
- if(getFloat(*prop->values.front(), &val))
- {
- PUDynamicAttributeFixed* dynamicAttributeFixed = new (std::nothrow) PUDynamicAttributeFixed();
- dynamicAttributeFixed->setValue(val);
- affector->setRotation(dynamicAttributeFixed);
- return true;
- }
- }
- }
- else if (prop->name == token[TOKEN_TEXROT_ROTATION])
- {
-
- if (passValidateProperty(compiler, prop, token[TOKEN_TEXROT_ROTATION], VAL_REAL))
- {
- float val = 0.0f;
- if(getFloat(*prop->values.front(), &val))
- {
- PUDynamicAttributeFixed* dynamicAttributeFixed = new (std::nothrow) PUDynamicAttributeFixed();
- dynamicAttributeFixed->setValue(val);
- affector->setRotation(dynamicAttributeFixed);
- return true;
- }
- }
- }
- return false;
- }
- bool PUTextureRotatorTranslator::translateChildObject( PUScriptCompiler* compiler, PUAbstractNode *node )
- {
- PUObjectAbstractNode* child = reinterpret_cast<PUObjectAbstractNode*>(node);
- PUAffector* af = static_cast<PUAffector*>(child->parent->context);
- PUTextureRotator* affector = static_cast<PUTextureRotator*>(af);
- PUDynamicAttributeTranslator dynamicAttributeTranslator;
- if (child->cls == token[TOKEN_ROTATION_SPEED])
- {
-
- dynamicAttributeTranslator.translate(compiler, node);
- PUDynamicAttribute* dynamicAttribute = static_cast<PUDynamicAttribute*>(child->context);
- affector->setRotationSpeed(dynamicAttribute);
- return true;
- }
- else if (child->cls == token[TOKEN_TEXROT_ROTATION_SPEED])
- {
-
- dynamicAttributeTranslator.translate(compiler, node);
- PUDynamicAttribute* dynamicAttribute = static_cast<PUDynamicAttribute*>(child->context);
- affector->setRotationSpeed(dynamicAttribute);
- return true;
- }
- else if (child->cls == token[TOKEN_ROTATION])
- {
-
- dynamicAttributeTranslator.translate(compiler, node);
- PUDynamicAttribute* dynamicAttribute = static_cast<PUDynamicAttribute*>(child->context);
- affector->setRotation(dynamicAttribute);
- return true;
- }
- else if (child->cls == token[TOKEN_TEXROT_ROTATION])
- {
-
- dynamicAttributeTranslator.translate(compiler, node);
- PUDynamicAttribute* dynamicAttribute = static_cast<PUDynamicAttribute*>(child->context);
- affector->setRotation(dynamicAttribute);
- return true;
- }
- return false;
- }
- NS_CC_END
|