Skip to content

Commit 380ac97

Browse files
committed
CCAnimation and CCAnimationFrame bindings
1 parent 99b8ba4 commit 380ac97

File tree

3 files changed

+61
-13
lines changed

3 files changed

+61
-13
lines changed

bindings/2.2081/Cocos2d.bro

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -300,22 +300,22 @@ class cocos2d::CCAnimation : cocos2d::CCObject {
300300
// void setLoops(unsigned int);
301301
// void setRestoreOriginalFrame(bool);
302302
// CCAnimation(cocos2d::CCAnimation const&);
303-
CCAnimation();
304-
virtual ~CCAnimation();
303+
CCAnimation() = m1 0x236f04, imac 0x296c90, ios inline;
304+
virtual ~CCAnimation() = m1 0x236f38, imac 0x296ce0, ios 0x1a4438;
305305

306-
static cocos2d::CCAnimation* create() = imac 0x2967a0, m1 0x236a50;
307-
static cocos2d::CCAnimation* create(cocos2d::CCArray*, float, unsigned int) = imac 0x296ae0, m1 0x236d54;
306+
static cocos2d::CCAnimation* create() = imac 0x2967a0, m1 0x236a50, ios inline;
307+
static cocos2d::CCAnimation* create(cocos2d::CCArray*, float, unsigned int) = imac 0x296ae0, m1 0x236d54, ios 0x1a4320;
308308
static cocos2d::CCAnimation* createWithSpriteFrames(cocos2d::CCArray*, float) = imac 0x2968e0, m1 0x236b7c, ios 0x1a417c;
309309

310310
virtual cocos2d::CCObject* copyWithZone(cocos2d::CCZone*) = imac 0x296f40, m1 0x23718c, ios 0x1a4498;
311311
virtual float getDuration() = imac 0x296f30, m1 0x237180, ios 0x1a448c;
312312

313-
void addSpriteFrame(cocos2d::CCSpriteFrame*);
314-
void addSpriteFrameWithFileName(char const*);
315-
void addSpriteFrameWithTexture(cocos2d::CCTexture2D*, cocos2d::CCRect const&);
316-
bool init() = imac 0x296890, m1 0x236b20;
317-
bool initWithAnimationFrames(cocos2d::CCArray*, float, unsigned int) = imac 0x296bf0, m1 0x236e5c;
318-
bool initWithSpriteFrames(cocos2d::CCArray*, float) = imac 0x296970, m1 0x236c04;
313+
void addSpriteFrame(cocos2d::CCSpriteFrame*) = m1 0x236ff0, imac 0x296da0, ios inline;
314+
void addSpriteFrameWithFileName(char const*) = m1 0x2370c0, imac 0x296e80, ios inline;
315+
void addSpriteFrameWithTexture(cocos2d::CCTexture2D*, cocos2d::CCRect const&) = m1 0x237150, imac 0x296f00, ios inline;
316+
bool init() = imac 0x296890, m1 0x236b2, ios inline;
317+
bool initWithAnimationFrames(cocos2d::CCArray*, float, unsigned int) = imac 0x296bf0, m1 0x236e5c, ios 0x1a43b8;
318+
bool initWithSpriteFrames(cocos2d::CCArray*, float) = imac 0x296970, m1 0x236c04, ios 0x1a4204;
319319
}
320320

321321
[[link(win, android)]]
@@ -338,12 +338,12 @@ class cocos2d::CCAnimationCache : cocos2d::CCObject {
338338

339339
[[link(win, android)]]
340340
class cocos2d::CCAnimationFrame : cocos2d::CCObject {
341-
CCAnimationFrame();
342-
virtual ~CCAnimationFrame();
341+
CCAnimationFrame() = m1 0x236760, imac 0x296480, ios inline;
342+
virtual ~CCAnimationFrame() = m1 0x236824, imac 0x296550, ios 0x1a401c;
343343

344344
virtual cocos2d::CCObject* copyWithZone(cocos2d::CCZone*) = imac 0x296640, m1 0x236900, ios 0x1a407c;
345345

346-
bool initWithSpriteFrame(cocos2d::CCSpriteFrame*, float, cocos2d::CCDictionary*);
346+
bool initWithSpriteFrame(cocos2d::CCSpriteFrame*, float, cocos2d::CCDictionary*) = m1 0x236794, imac 0x2964c0, ios inline;
347347
}
348348

349349
[[link(win, android)]]

bindings/2.2081/inline/CCAnimation.cpp

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,41 @@
88
#endif
99

1010
#if defined(GEODE_IS_IOS)
11+
cocos2d::CCAnimation::CCAnimation() {
12+
m_fTotalDelayUnits = 0.f;
13+
m_fDelayPerUnit = 0.f;
14+
m_fDuration = 0.f;
15+
m_pFrames = nullptr;
16+
m_bRestoreOriginalFrame = false;
17+
m_uLoops = 0;
18+
}
19+
20+
void cocos2d::CCAnimation::addSpriteFrame(cocos2d::CCSpriteFrame* frame) {
21+
auto animationFrame = new CCAnimationFrame();
22+
animationFrame->initWithSpriteFrame(frame, 1.f, nullptr);
23+
m_pFrames->addObject(animationFrame);
24+
animationFrame->release();
25+
m_fTotalDelayUnits++;
26+
}
27+
28+
void cocos2d::CCAnimation::addSpriteFrameWithFileName(const char* filename) {
29+
auto texture = cocos2d::CCTextureCache::sharedTextureCache()->addImage(filename, false);
30+
this->addSpriteFrame(cocos2d::CCSpriteFrame::createWithTexture(texture, { { 0.f, 0.f }, texture->getContentSize() }));
31+
}
32+
33+
void cocos2d::CCAnimation::addSpriteFrameWithTexture(cocos2d::CCTexture2D* texture, cocos2d::CCRect const& rect) {
34+
this->addSpriteFrame(cocos2d::CCSpriteFrame::createWithTexture(texture, rect));
35+
}
36+
37+
cocos2d::CCAnimation* cocos2d::CCAnimation::create() {
38+
auto ret = new CCAnimation();
39+
ret->init();
40+
ret->autorelease();
41+
return ret;
42+
}
43+
44+
bool cocos2d::CCAnimation::init() {
45+
return this->initWithSpriteFrames(nullptr, 0.f);
46+
}
1147
#endif
1248

bindings/2.2081/inline/CCAnimationFrame.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,17 @@
88
#endif
99

1010
#if defined(GEODE_IS_IOS)
11+
cocos2d::CCAnimationFrame::CCAnimationFrame() {
12+
m_pSpriteFrame = nullptr;
13+
m_fDelayUnits = 0.f;
14+
m_pUserInfo = nullptr;
15+
}
16+
17+
bool cocos2d::CCAnimationFrame::initWithSpriteFrame(cocos2d::CCSpriteFrame* spriteFrame, float delayUnits, cocos2d::CCDictionary* userInfo) {
18+
this->setSpriteFrame(spriteFrame);
19+
this->setDelayUnits(delayUnits);
20+
this->setUserInfo(userInfo);
21+
return true;
22+
}
1123
#endif
1224

0 commit comments

Comments
 (0)