#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::ivec2(10, 10));

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

	void drawObject(SpriteRenderer& renderer);
};

