2022-10-13 06:07:37 -04:00
|
|
|
#include <Geode/Loader.hpp>
|
2022-07-30 12:24:03 -04:00
|
|
|
|
|
|
|
USE_GEODE_NAMESPACE();
|
|
|
|
|
2022-10-08 09:53:09 -04:00
|
|
|
auto test = [](){
|
|
|
|
log::info("Static logged");
|
|
|
|
return 0;
|
|
|
|
};
|
|
|
|
|
2022-07-30 12:24:03 -04:00
|
|
|
// Exported functions
|
|
|
|
GEODE_API bool GEODE_CALL geode_enable() {
|
2022-10-08 05:41:36 -04:00
|
|
|
log::info("Enabled");
|
2022-07-30 12:24:03 -04:00
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
GEODE_API bool GEODE_CALL geode_disable() {
|
2022-10-08 05:41:36 -04:00
|
|
|
log::info("Disabled");
|
2022-07-30 12:24:03 -04:00
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
GEODE_API bool GEODE_CALL geode_load(Mod*) {
|
2022-10-08 05:41:36 -04:00
|
|
|
log::info("Loaded");
|
2022-07-30 12:24:03 -04:00
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
GEODE_API bool GEODE_CALL geode_unload() {
|
2022-10-08 05:41:36 -04:00
|
|
|
log::info("Unloaded");
|
2022-07-30 12:24:03 -04:00
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Modify
|
2022-10-13 07:00:41 -04:00
|
|
|
#include <Geode/modify/GJGarageLayer.hpp>
|
2022-07-30 12:24:03 -04:00
|
|
|
class $modify(GJGarageLayerTest, GJGarageLayer) {
|
|
|
|
GJGarageLayerTest() :
|
2022-10-08 05:41:36 -04:00
|
|
|
myValue(1907) {}
|
2022-07-30 12:24:03 -04:00
|
|
|
|
|
|
|
int myValue;
|
2022-10-08 05:41:36 -04:00
|
|
|
std::string myString = "yeah have fun finding a better thing for this";
|
2022-07-30 12:24:03 -04:00
|
|
|
bool init() {
|
|
|
|
if (!GJGarageLayer::init()) return false;
|
|
|
|
|
|
|
|
auto label = CCLabelBMFont::create("Modify works!", "bigFont.fnt");
|
|
|
|
label->setPosition(100, 110);
|
|
|
|
label->setScale(.4f);
|
|
|
|
label->setZOrder(99999);
|
|
|
|
addChild(label);
|
|
|
|
|
|
|
|
if (m_fields->myValue == 1907 && m_fields->myString != "") {
|
|
|
|
auto label = CCLabelBMFont::create("Field default works!", "bigFont.fnt");
|
|
|
|
label->setPosition(100, 100);
|
|
|
|
label->setScale(.4f);
|
|
|
|
label->setZOrder(99999);
|
|
|
|
addChild(label);
|
|
|
|
}
|
|
|
|
|
|
|
|
// Data Store
|
|
|
|
auto ds = Mod::get()->getDataStore();
|
|
|
|
int out = ds["times-opened"];
|
|
|
|
ds["times-opened"] = out + 1;
|
|
|
|
|
|
|
|
std::string text = std::string("Times opened: ") + std::to_string(out);
|
|
|
|
|
|
|
|
auto label2 = CCLabelBMFont::create(text.c_str(), "bigFont.fnt");
|
|
|
|
label2->setPosition(100, 90);
|
|
|
|
label2->setScale(.4f);
|
|
|
|
label2->setZOrder(99999);
|
|
|
|
addChild(label2);
|
|
|
|
|
|
|
|
// Dispatch system pt. 1
|
|
|
|
// auto fn = Dispatcher::get()->getFunction<void(GJGarageLayer*)>("test-garage-open");
|
|
|
|
// fn(this);
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
/*// Event system pt. 2
|
|
|
|
int a = (0, []() {
|
|
|
|
|
|
|
|
Dispatcher::get()->addSelector("test-garage-open", [](GJGarageLayer* gl) {
|
|
|
|
auto label = CCLabelBMFont::create("EventCenter works!", "bigFont.fnt");
|
|
|
|
label->setPosition(100, 80);
|
|
|
|
label->setScale(.4f);
|
|
|
|
label->setZOrder(99999);
|
|
|
|
gl->addChild(label);
|
|
|
|
|
|
|
|
TestDependency::depTest(gl);
|
|
|
|
});
|
|
|
|
|
|
|
|
// Event system pt. 2
|
|
|
|
// $observe("test-garage-open", GJGarageLayer*, evt) {
|
|
|
|
// auto gl = evt.object();
|
|
|
|
// auto label = CCLabelBMFont::create("EventCenter works!", "bigFont.fnt");
|
|
|
|
// label->setPosition(100, 80);
|
|
|
|
// label->setScale(.4f);
|
|
|
|
// label->setZOrder(99999);
|
|
|
|
// gl->addChild(label);
|
|
|
|
|
|
|
|
// // API pt. 2
|
|
|
|
// TestDependency::depTest(gl);
|
|
|
|
// }
|
|
|
|
return 0;
|
|
|
|
}());*/
|
|
|
|
|