#pragma once #include "Mesh.hpp" #include "Resources.hpp" #include "../Transform.hpp" namespace MC::GFX { enum class DrawMode { Triangles = GL_TRIANGLES, Lines = GL_LINES, }; struct Action { Mesh* mesh; Resources::Program program; Transform transform; F32 alpha = 1.0f; DrawMode draw_mode = DrawMode::Triangles; }; class Actions { public: void add(Action const& action) { m_actions.push_back(action); } void clear() { m_actions.clear(); } const std::vector& actions() const { return m_actions; } private: std::vector m_actions; }; }