Skip to content

Commit

Permalink
add BIBaseLayer
Browse files Browse the repository at this point in the history
  • Loading branch information
Cvolton committed Dec 16, 2023
1 parent 2e897c0 commit c375978
Show file tree
Hide file tree
Showing 4 changed files with 80 additions and 37 deletions.
36 changes: 1 addition & 35 deletions src/layers/CustomCreatorLayer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,34 +17,9 @@ CustomCreatorLayer* CustomCreatorLayer::create() {
}

bool CustomCreatorLayer::init() {
auto backgroundSprite = CCSprite::create("game_bg_14_001.png");
if (!BIBaseLayer::init()) return false;

auto winSize = CCDirector::sharedDirector()->getWinSize();
auto size = backgroundSprite->getContentSize();

backgroundSprite->setScale(winSize.width / size.width);

backgroundSprite->setAnchorPoint({0, 0});
backgroundSprite->setPosition({0,-75});

backgroundSprite->setColor({164, 0, 255});

backgroundSprite->setZOrder(-2);
addChild(backgroundSprite);

auto backBtn = CCMenuItemSpriteExtra::create(
CCSprite::createWithSpriteFrameName("GJ_arrow_03_001.png"),
this,
menu_selector(CustomCreatorLayer::onBack)
);

auto menuBack = CCMenu::create();
menuBack->addChild(backBtn);
menuBack->setPosition({25, winSize.height - 25});

addChild(menuBack);

setKeypadEnabled(true);

auto menu = CCMenu::create();
menu->setID("bi-main-menu");
Expand Down Expand Up @@ -169,15 +144,6 @@ bool CustomCreatorLayer::init() {
return true;
}

void CustomCreatorLayer::keyBackClicked() {
CCDirector::sharedDirector()->popSceneWithTransition(0.5f, PopTransition::kPopTransitionFade);
}


void CustomCreatorLayer::onBack(CCObject* object) {
keyBackClicked();
}

void CustomCreatorLayer::onInfo(CCObject* object) {
FLAlertLayer::create(
nullptr,
Expand Down
5 changes: 3 additions & 2 deletions src/layers/CustomCreatorLayer.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,13 @@

#include <Geode/Bindings.hpp>

#include "_bases/BIBaseLayer.h"

using namespace geode::prelude;

class CustomCreatorLayer : public cocos2d::CCLayer {
class CustomCreatorLayer : public BIBaseLayer {
protected:
virtual bool init();
virtual void keyBackClicked();
void onBack(cocos2d::CCObject*);
void onFeatured(cocos2d::CCObject*);
void onMostLiked(cocos2d::CCObject*);
Expand Down
61 changes: 61 additions & 0 deletions src/layers/_bases/BIBaseLayer.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
#include "BIBaseLayer.h"

BIBaseLayer* BIBaseLayer::create() {
auto ret = new BIBaseLayer();
if (ret && ret->init()) {
ret->autorelease();
} else {
delete ret;
ret = nullptr;
}
return ret;
}

bool BIBaseLayer::init() {
auto backgroundSprite = CCSprite::create("game_bg_14_001.png");

auto winSize = CCDirector::sharedDirector()->getWinSize();
auto size = backgroundSprite->getContentSize();

backgroundSprite->setScale(winSize.width / size.width);

backgroundSprite->setAnchorPoint({0, 0});
backgroundSprite->setPosition({0,-75});

backgroundSprite->setColor({164, 0, 255});

backgroundSprite->setZOrder(-2);
addChild(backgroundSprite);

auto backBtn = CCMenuItemSpriteExtra::create(
CCSprite::createWithSpriteFrameName("GJ_arrow_03_001.png"),
this,
menu_selector(BIBaseLayer::onBack)
);

auto menuBack = CCMenu::create();
menuBack->addChild(backBtn);
menuBack->setPosition({25, winSize.height - 25});

addChild(menuBack);

setKeypadEnabled(true);

return true;
}

void BIBaseLayer::keyBackClicked() {
CCDirector::sharedDirector()->popSceneWithTransition(0.5f, PopTransition::kPopTransitionFade);
}


void BIBaseLayer::onBack(CCObject* object) {
keyBackClicked();
}

CCScene* BIBaseLayer::scene() {
auto layer = BIBaseLayer::create();
auto scene = CCScene::create();
scene->addChild(layer);
return scene;
}
15 changes: 15 additions & 0 deletions src/layers/_bases/BIBaseLayer.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#pragma once

#include <Geode/Bindings.hpp>

using namespace geode::prelude;

class BIBaseLayer : public cocos2d::CCLayer {
protected:
virtual bool init();
virtual void keyBackClicked();
void onBack(cocos2d::CCObject*);
public:
static BIBaseLayer* create();
static cocos2d::CCScene* scene();
};

0 comments on commit c375978

Please sign in to comment.