AronaCore/core/application/application.h

29 lines
529 B
C++

#pragma once
#include <memory>
#include <string>
class renderer;
class render_target;
class texture;
class application;
class CORE_API application {
public:
application() = default;
virtual ~application() = default;
application(const application&) = delete;
application(application&&) = delete;
virtual void init(const char* runtime_dir);
virtual void shutdown();
void request_exit();
virtual void tick(float delta_time) {}
protected:
std::shared_ptr<spdlog::logger> async_spdlog_;
};