#pragma once #include "cgp/cgp.hpp" using namespace cgp; struct projectile { int N; std::vector<vec3> v; std::vector<vec3> pos; std::vector<vec3> color; mesh_drawable mesh; enum class projectile_type {fire, ice, electric, rock, water}; std::vector<projectile_type> elemental_types; std::vector<projectile_type> types = { projectile_type::fire, projectile_type::ice, projectile_type::rock, projectile_type::electric, projectile_type::water }; void initialize(); void simulate(float dt, float terrain_length); void add_ball(vec3 new_pos, vec3 new_dir); void reset(); };