#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();
};