#ifndef TEXTUREDCUBE_H
#define TEXTUREDCUBE_H

#include "shape.h"

namespace CBK
{
	namespace Shapes
	{
		class TexturedCube : public Shape
		{
		public:
			//Create a new shape
			TexturedCube(IDirect3DDevice9* device = 0);
			virtual ~TexturedCube(void);

			//Draws the object
			virtual void draw(const DWORD& subset = 0);

			//Create is called automatically when a device is set
				//With no parameters, create should generate a default sized version
			virtual Shape& create(void);
				//With a parameter, create should generate a copy of the other

		protected:
			IDirect3DVertexBuffer9* _vb;
			IDirect3DIndexBuffer9*  _ib;

		private:
			virtual Shape& create(const Shape& other);
		};
	}
}

#endif //TEXTUREDCUBE_H