Extra2D/examples/hello_module/hello_module.cpp

45 lines
825 B
C++

#include "hello_module.h"
#include <iostream>
namespace extra2d {
HelloModule::HelloModule(const HelloCfg &cfg) : cfg_(cfg) {}
HelloModule::HelloModule(std::function<void(HelloCfg &)> configFn) {
configFn(cfg_);
}
HelloModule::~HelloModule() {
if (initialized_) {
shutdown();
}
}
bool HelloModule::init() {
if (initialized_)
return true;
E2D_INFO("HelloModule initialized");
E2D_INFO(" Greeting: {}", cfg_.greeting);
E2D_INFO(" Repeat count: {}", cfg_.repeatCount);
initialized_ = true;
return true;
}
void HelloModule::shutdown() {
if (!initialized_)
return;
E2D_INFO("HelloModule shutdown");
initialized_ = false;
}
void HelloModule::sayHello() const {
for (int i = 0; i < cfg_.repeatCount; ++i) {
std::cout << cfg_.greeting << std::endl;
}
}
} // namespace extra2d