/* # _____ ____ ___ # | \/ ____| |___| # | | | \ | | #----------------------------------------------------------------------- # Copyright 2022, tyra - https://github.com/h4570/tyra # Licensed under Apache License 2.0 # Sandro Sobczyński */ #pragma once #include #include "./renderer_static_pair.hpp" #include "./renderer_dynamic_pair.hpp" using Tyra::CoreBBox; using Tyra::DynamicPipeline; using Tyra::Renderer; using Tyra::Sprite; using Tyra::StaticPipeline; namespace Demo { class GameRenderer { public: GameRenderer(Renderer* renderer); ~GameRenderer(); void add(std::vector staticPairs); void add(std::vector dynamicPairs); void add(RendererStaticPair* staticPair); void add(RendererDynamicPair* dynamicPair); void add(Sprite* sprite); void add(const CoreBBox& bbox); void clear(); void render(); private: Renderer* renderer; StaticPipeline stpip; DynamicPipeline dypip; std::vector staticPairs; std::vector dynamicPairs; std::vector sprites; std::vector bboxes; }; } // namespace Demo