#include #include #include #include #include "values/Dna.hpp" struct DrawArgs { Vector2 start; float angleDeg; float lenghth; int dep; }; class Tree { public: Tree() = default; ~Tree() = default; void init(int size); void draw(Dna *dna); bool tick(); private: Dna *m_dna; uint128 branchSeed; int size = 0; Vector2 start = {0}; std::list draw_calls; void drawBranch(); Vector2 drawLine(); inline uint8_t get_num_of_branches(uint8_t dep); inline Color get_start_color(uint8_t dep); inline Color get_end_color(uint8_t dep, Color &start); };