enum { kCCActionTagInvalid = -1, }; class CCAction : public CCObject { bool isDone(void); CCNode* getTarget(void); // void setTarget(CCNode *pTarget); CCNode* getOriginalTarget(void); // void setOriginalTarget(CCNode *pOriginalTarget); // static CCAction* create(); int getTag(void); void setTag(int nTag); CCObject* copyWithZone(CCZone* pZone); }; class CCActionInterval : public CCAction { float getElapsed(void); bool isDone(void); void setAmplitudeRate(float amp); float getAmplitudeRate(void); CCObject* copyWithZone(CCZone* pZone); CCActionInterval* reverse(void); CCActionInterval* create(float d); }; class CCFiniteTimeAction : public CCActionInterval { float getDuration(void); void setDuration(float duration); CCFiniteTimeAction* reverse(void); }; // CCActionInterval class CCSpeed : public CCAction { float getSpeed(void); void setSpeed(float fSpeed); CCActionInterval* reverse(void); bool isDone(void); CCObject* copyWithZone(CCZone* pZone); static CCSpeed* create(CCActionInterval *pAction, float fRate); }; class CCFollow : public CCAction { bool isBoundarySet(void); void setBoudarySet(bool bValue); bool isDone(void); CCObject* copyWithZone(CCZone* pZone); static CCFollow* create(CCNode *pFollowedNode); static CCFollow* create(CCNode *pFollowedNode, CCRect rect); }; class CCSequence : public CCActionInterval { CCObject* copyWithZone(CCZone* pZone); CCActionInterval* reverse(void); static CCFiniteTimeAction* createWithTwoActions(CCFiniteTimeAction *pActionOne, CCFiniteTimeAction *pActionTwo); static CCFiniteTimeAction* create(CCArray *actions); }; class CCRepeat : public CCActionInterval { CCObject* copyWithZone(CCZone* pZone); bool isDone(void); CCActionInterval* reverse(void); static CCRepeat* create(CCActionInterval *pAction, unsigned int times); }; class CCRepeatForever : public CCActionInterval { CCObject* copyWithZone(CCZone* pZone); bool isDone(void); CCActionInterval* reverse(void); static CCRepeatForever* create(CCActionInterval *pAction); }; class CCSpawn : public CCActionInterval { CCObject* copyWithZone(CCZone* pZone); CCActionInterval* reverse(void); static CCFiniteTimeAction* create(CCArray *actions); static CCFiniteTimeAction* createWithTwoActions(CCFiniteTimeAction *pAction1, CCFiniteTimeAction *pAction2); }; class CCRotateTo : public CCActionInterval { CCObject* copyWithZone(CCZone* pZone); static CCRotateTo* create(float duration, float fDeltaAngle); }; class CCRotateBy : public CCActionInterval { CCObject* copyWithZone(CCZone* pZone); CCActionInterval* reverse(void); static CCRotateBy* create(float duration, float fDeltaAngle); }; class CCMoveTo : public CCActionInterval { CCObject* copyWithZone(CCZone* pZone); static CCMoveTo* create(float duration, CCPoint position); }; class CCMoveBy : public CCActionInterval { CCObject* copyWithZone(CCZone* pZone); CCActionInterval* reverse(void); static CCMoveBy* create(float duration, CCPoint position); }; class CCSkewTo : public CCActionInterval { CCObject* copyWithZone(CCZone* pZone); static CCSkewTo* create(float t, float sx, float sy); }; class CCSkewBy : public CCActionInterval { CCObject* copyWithZone(CCZone* pZone); CCActionInterval* reverse(void); static CCSkewBy* create(float t, float deltaSkewX, float deltaSkewY); }; class CCJumpBy : public CCActionInterval { CCObject* copyWithZone(CCZone* pZone); CCActionInterval* reverse(void); static CCJumpBy* create(float duration, CCPoint position, float height, int jumps); }; class CCJumpTo : public CCActionInterval { CCObject* copyWithZone(CCZone* pZone); static CCJumpTo* create(float duration, CCPoint position, float height, int jumps); }; /* There's a bug in tolua++ Can't use struct in lua after binding struct So use class instead. */ class ccBezierConfig { ccBezierConfig(void); CCPoint endPosition; CCPoint controlPoint_1; CCPoint controlPoint_2; }; class CCBezierBy : public CCActionInterval { CCObject* copyWithZone(CCZone* pZone); CCActionInterval* reverse(void); static CCBezierBy* create(float t, ccBezierConfig c); }; class CCBezierTo : public CCActionInterval { CCObject* copyWithZone(CCZone* pZone); static CCBezierTo* create(float t, ccBezierConfig c); }; class CCScaleTo : public CCActionInterval { CCObject* copyWithZone(CCZone* pZone); static CCScaleTo* create(float duration, float s); static CCScaleTo* create(float duration, float sx, float sy); }; class CCScaleBy : public CCActionInterval { CCObject* copyWithZone(CCZone* pZone); CCActionInterval* reverse(void); static CCScaleBy* create(float duration, float s); static CCScaleBy* create(float duration, float sx, float sy); }; class CCBlink : public CCActionInterval { CCObject* copyWithZone(CCZone* pZone); CCActionInterval* reverse(void); static CCBlink* create(float duration, unsigned int uBlinks); }; class CCFadeIn : public CCActionInterval { CCObject* copyWithZone(CCZone* pZone); CCActionInterval* reverse(void); static CCFadeIn* create(float d); }; class CCFadeOut : public CCActionInterval { CCObject* copyWithZone(CCZone* pZone); CCActionInterval* reverse(void); static CCFadeOut* create(float d); }; class CCFadeTo : public CCActionInterval { CCObject* copyWithZone(CCZone* pZone); static CCFadeTo* create(float duration, GLubyte opacity); }; class CCTintTo : public CCActionInterval { CCObject* copyWithZone(CCZone* pZone); static CCTintTo* create(float duration, GLubyte red, GLubyte green, GLubyte blue); }; class CCTintBy : public CCActionInterval { CCObject* copyWithZone(CCZone* pZone); CCActionInterval* reverse(void); static CCTintBy* create(float duration, GLshort deltaRed, GLshort deltaGreen, GLshort deltaBlue); }; class CCDelayTime : public CCActionInterval { CCObject* copyWithZone(CCZone* pZone); CCActionInterval* reverse(void); static CCDelayTime* create(float d); }; class CCReverseTime : public CCActionInterval { CCObject* copyWithZone(CCZone* pZone); CCActionInterval* reverse(void); static CCReverseTime* create(CCFiniteTimeAction *pAction); }; class CCAnimate : public CCActionInterval { CCObject* copyWithZone(CCZone* pZone); CCActionInterval* reverse(void); CCAnimation* getAnimation(void); void setAnimation(CCAnimation *pAnimation); static CCAnimate* create(CCAnimation *pAnimation); }; class CCTargetedAction : public CCActionInterval { CCObject* copyWithZone(CCZone* pZone); CCNode* getForcedTarget(void); void setForcedTarget(CCNode* target); static CCTargetedAction* create(CCNode* pTarget, CCFiniteTimeAction* pAction); }; // CCActionInstant class CCActionInstant : public CCFiniteTimeAction { CCObject* copyWithZone(CCZone* pZone); CCFiniteTimeAction* reverse(void); bool isDone(void); }; class CCShow : public CCActionInstant { CCObject* copyWithZone(CCZone* pZone); CCFiniteTimeAction* reverse(void); static CCShow* create(); }; class CCHide : public CCActionInstant { CCObject* copyWithZone(CCZone* pZone); CCFiniteTimeAction* reverse(void); static CCHide* create(); }; class CCToggleVisibility : public CCActionInstant { CCObject* copyWithZone(CCZone* pZone); static CCToggleVisibility* create(); }; class CCFlipX : public CCActionInstant { CCObject* copyWithZone(CCZone* pZone); CCFiniteTimeAction* reverse(void); static CCFlipX* create(bool x); }; class CCFlipY : public CCActionInstant { CCObject* copyWithZone(CCZone* pZone); CCFiniteTimeAction* reverse(void); static CCFlipY* create(bool y); }; class CCPlace : public CCActionInstant // { CCObject* copyWithZone(CCZone* pZone); static CCPlace* create(CCPoint pos); }; class CCCallFunc : public CCActioninstant { static CCCallFunc* create(LUA_FUNCTION funcID); }; class CCCallFuncN : public CCCallFunc { static CCCallFuncN* create(LUA_FUNCTION funcID); };