#include "includes/raylib-cpp/raylib-cpp.hpp"
#include "includes/ball.hpp"

Ball::Ball(int pos_x, int pos_y, int radius, int vel_x = 0, int vel_y = 0) {
	this->pos = raylib::Vector2(pos_x, pos_y);
	this->initial_pos = this->pos; // Create a copy of the position vector
	this->radius = radius;
	this->color = raylib::Color::White();
	this->vel = raylib::Vector2(vel_x, vel_y);
	this->initial_vel = this->vel; // Create a copy of the velocity vector
	return;
}

void Ball::setPosition(Vector2 pos) {
	this->pos = pos;
}

void Ball::reset() {
	this->pos = this->initial_pos;
	this->vel = this->initial_vel;
	return;
}

void Ball::updatePosition() {
	this->pos.x += this->vel.x;
	this->pos.y += this->vel.y;
	return;
}

void Ball::draw() {
	DrawCircle(this->pos.x, this->pos.y, this->radius, this->color);  // This is a raylib function, not a raylib-cpp function
	return;
}

