#pragma once

#include "SpriteRenderer.h"
#include "resourceManager.h"
#include "animationManager.h"

#include <cute_headers-master/cute_c2.h>

#include <GLAD/glad.h>
#include <GLFW/glfw3.h>
#include <glm/glm.hpp>
#include <iostream>

class Object
{
public:
	GLfloat vertices[16];

	glm::vec2 Position, Size;
	float Rotation = 0.0f;
	int blockType;
	Texture Sprite;
	c2AABB objectBody;
	GLuint quadVAO, VBO, EBO;

	glm::vec4 spriteUVs;
	tileSet* spriteSheet = new tileSet(Sprite, glm::vec2(10, 10));

	Object(Texture sprite, glm::vec2 pos, glm::vec2 size, int blockType = 2);
	~Object();

	void drawObject(SpriteRenderer& renderer);
};

