#pragma once
#include "Bindable.h"
#include "Graphics.h"
#include "Surface.h"
#include <Windows.h>
#include "Logger.h"
#include <vector>
#include <memory>

class Texture : public Bindable
{
public:
	Texture(Graphics& gfx, Surface& surface);
	void Bind(Graphics& gfx, UINT slot, Logger& logger);
protected:
	Microsoft::WRL::ComPtr<ID3D11ShaderResourceView> pTextureView;
	std::vector<std::unique_ptr<Surface>> surfaces;
};