MCPcopy Create free account
hub / github.com/Open-GD/OpenGD / init

Method init

Source/LevelCell.cpp:69–425  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

67}
68
69bool LevelCell::init(GJGameLevel* level) {
70 _layer = Layer::create();
71 addChild(_layer);
72
73 Vec2 size = { 356, 90 };
74 setContentSize(size);
75
76 Vec2 difficultySpritePos = { 26, size.height / 2 };
77 std::string bigFontStr = GameToolbox::getTextureString("bigFont.fnt");
78 bool isDailyOrWeekly = false;
79
80
81 float coinYPos;
82
83 if (level->_stars && level->_coins)
84 {
85 difficultySpritePos += {0, 14};
86 coinYPos = -45.5;
87 }
88 else if (level->_coins || level->_stars)
89 {
90 difficultySpritePos += {0, 5};
91 coinYPos = -31.5;
92 }
93
94 if (isDailyOrWeekly)
95 {
96 difficultySpritePos += {0, 10};
97 coinYPos = -60;
98 }
99
100
101 // Difficulty sprite
102 if (level->_epic == 1)
103 {
104 Sprite* epicSprite = Sprite::createWithSpriteFrameName("GJ_epicCoin_001.png");
105 epicSprite->setPosition(difficultySpritePos);
106 _layer->addChild(epicSprite, 2);
107 }
108 else if (level->_featureScore > 0)
109 {
110 Sprite* featureScore = Sprite::createWithSpriteFrameName("GJ_featuredCoin_001.png");
111 featureScore->setPosition(difficultySpritePos);
112 _layer->addChild(featureScore, 2);
113 }
114
115 Sprite* diffSprite = Sprite::createWithSpriteFrameName(GJGameLevel::getDifficultySprite(level));
116 diffSprite->setPosition(difficultySpritePos);
117 _layer->addChild(diffSprite, 2);
118
119
120 // Stars
121 if (level->_stars > 0) {
122 Sprite* starSprite = Sprite::createWithSpriteFrameName("star_small01_001.png");
123 starSprite->setPosition(difficultySpritePos + ax::Vec2(8, -30));
124 _layer->addChild(starSprite);
125
126 Label* starLabel = Label::createWithBMFont(bigFontStr, fmt::format("{}", level->_stars));

Callers 1

createMethod · 0.45

Calls 7

createFunction · 0.85
Color3BClass · 0.85
setPositionMethod · 0.80
setScaleMethod · 0.80
showMethod · 0.80
Vec2Class · 0.70
setColorMethod · 0.45

Tested by

no test coverage detected