Skip to content

Commit 9139187

Browse files
committed
Fix clickable dots
1 parent d8c140b commit 9139187

4 files changed

Lines changed: 30 additions & 7 deletions

File tree

changelog.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# 2.1.4
2+
- Fix incompat with Clickable Dots in the editor
3+
14
# 2.1.3
25
- Hotfix for BetterEdit Edit Menu breaking
36

mod.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
2-
"geode": "5.5.3",
2+
"geode": "5.6.0",
33
"gd": {
44
"win": "2.2081",
55
"mac": "2.2081",
66
"android": "2.2081",
77
"ios": "2.2081"
88
},
9-
"version": "v2.1.3",
9+
"version": "v2.1.4",
1010
"id": "alphalaneous.editortab_api",
1111
"name": "EditorTab API",
1212
"developer": "Alphalaneous",

src/EditButtonBar.cpp

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#include "EditButtonBar.hpp"
22
#include "EditorUI.hpp"
3+
#include <Geode/ui/Button.hpp>
34

45
EditButtonBar* ETEditButtonBar::create(cocos2d::CCArray* objects, cocos2d::CCPoint position, int tab, bool hasCreateItems, int columns, int rows) {
56
auto ret = EditButtonBar::create(objects, position, tab, hasCreateItems, columns, rows);
@@ -33,6 +34,11 @@ void ETEditButtonBar::setupChanges(int c, int r) {
3334
m_scrollLayer->setPosition(getContentSize() / 2);
3435
m_scrollLayer->unscheduleUpdate();
3536
m_scrollLayer->unschedule(schedule_selector(BoomScrollLayer::updateDots));
37+
38+
auto clickableDotsMenu = m_scrollLayer->getChildByID("zilko.clickable_dots/buttons-menu");
39+
if (clickableDotsMenu) {
40+
clickableDotsMenu->setVisible(false);
41+
}
3642

3743
for (auto page : m_scrollLayer->m_pages->asExt<ButtonPage>()) {
3844
page->setContentSize(getContentSize());
@@ -81,18 +87,32 @@ void ETEditButtonBar::setupChanges(int c, int r) {
8187

8288
auto count = m_pagesArray ? m_pagesArray->count() : 1;
8389

84-
fields->m_dots = CCSpriteBatchNode::create("smallDot.png", count);
90+
fields->m_dots = CCNode::create();
8591
fields->m_dots->setAnchorPoint({0.5f, 0.f});
8692
fields->m_dots->setContentSize({getContentWidth(), 5.f});
87-
fields->m_dots->setPositionX(getContentWidth() / 2);
93+
fields->m_dots->setPosition({getContentWidth() / 2, 0});
8894
fields->m_dots->setID("dots"_spr);
8995

9096
addChild(fields->m_dots);
9197

9298
for (int i = 0; i < count; i++) {
9399
auto spr = CCSprite::create("smallDot.png");
94100
spr->setScale(0.5f);
95-
fields->m_dots->addChild(spr);
101+
102+
if (clickableDotsMenu) {
103+
auto btn = geode::Button::createWithNode(spr, [this] (auto sender) {
104+
goToPage(sender->getTag());
105+
});
106+
btn->setCascadeColorEnabled(true);
107+
btn->setCascadeOpacityEnabled(true);
108+
btn->setTag(i);
109+
btn->setZOrder(i);
110+
111+
fields->m_dots->addChild(btn);
112+
}
113+
else {
114+
fields->m_dots->addChild(spr);
115+
}
96116
}
97117

98118
if (spacerLeft && spacerRight) {
@@ -122,7 +142,7 @@ void ETEditButtonBar::updatePage() {
122142
auto fields = m_fields.self();
123143
if (!fields->m_dots) return;
124144

125-
auto arr = fields->m_dots->getChildrenExt<CCSprite>();
145+
auto arr = fields->m_dots->getChildrenExt<CCNodeRGBA>();
126146

127147
if (arr.empty()) return;
128148

src/EditButtonBar.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ using namespace geode::prelude;
88

99
class $modify(ETEditButtonBar, EditButtonBar) {
1010
struct Fields {
11-
CCSpriteBatchNode* m_dots;
11+
CCNode* m_dots;
1212
};
1313

1414
static void onModify(auto& self) {

0 commit comments

Comments
 (0)