#pragma once #include #include "core/music.h" #include "core/text.h" #include "core/resourceholder.h" #include "core/rectangle.h" #include "core/vector.h" #include "core/line.h" namespace kku { class CoreFactory { public: virtual ~CoreFactory() = default; virtual std::shared_ptr getMusic() const = 0; virtual std::shared_ptr getText(kku::Font::Id id) const = 0; virtual std::shared_ptr getRectangle() const = 0; virtual std::shared_ptr getLine() const = 0; virtual kku::Vector2 getRenderSize() const = 0; }; }