#ifndef __MLX_SCENE__ #define __MLX_SCENE__ #include namespace mlx { struct SceneDescriptor { NonOwningPtr renderer; // More description may come in future }; class Scene { public: Scene(SceneDescriptor desc); Sprite& CreateSprite(std::shared_ptr texture) noexcept; [[nodiscard]] inline const std::vector>& GetSprites() const noexcept { return m_sprites; } [[nodiscard]] inline const SceneDescriptor& GetDescription() const noexcept { return m_descriptor; } ~Scene() = default; private: SceneDescriptor m_descriptor; std::vector> m_sprites; }; } #endif