#pragma once

#include "../../engine/file.h"
#include "../../engine/shader.h"
#include "../../engine/texture.h"

#define SHADER_COUNT SHADER_COLOR_QUAD + 1
typedef enum ShaderType
{
	SHADER_TEXTURE_QUAD,
	SHADER_COLOR_QUAD
} ShaderType;

typedef struct ShaderPaths
{
	const char* vertex;
	const char* fragment;
} ShaderPaths;

static const ShaderPaths SHADER_PATHS[SHADER_COUNT] =
{
	{
		.vertex = "res/shader/texture_quad.vs",
		.fragment = "res/shader/texture_quad.fs"
	},
	{
		.vertex = "res/shader/color_quad.vs",
		.fragment = "res/shader/color_quad.fs"
	}
};

#define TEXTURE_COUNT TEXTURE_SNAKE + 1
typedef enum TextureType
{
	TEXTURE_PLAYER,
	TEXTURE_SNAKE
} TextureType;

static const char* TEXTURE_PATHS[TEXTURE_COUNT] =
{
	"res/gfx/player.png",
	"res/gfx/snake.png"
};

typedef struct Resources
{
	Shader shaders[SHADER_COUNT];
	Texture textures[TEXTURE_COUNT];
} Resources;
