/* _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
|
|   TextureManager.h
|
+ -------------------------------------------------------------------------------------------------
|
|	テクスチャ管理クラス
|
+ _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ */

#pragma once

struct TEXTURE_DATA{
	LPDIRECT3DTEXTURE9	pTexture;	// テクスチャ
	LPDIRECT3DTEXTURE9	pShadow;	// テクスチャシャドウ
	string				name;		// 名前
	int					width;		// 幅
	int					height;		// 高さ
	int					xPart;		// x分割数
	int					yPart;		// y分割数
	bool				isRev;		// 反転
};
typedef vector<TEXTURE_DATA*>			vecTexture;
typedef vector<TEXTURE_DATA*>::iterator	iteTexture;

class TextureManager
{
	private:
		vecTexture	m_textureList;		// テクスチャリスト

		void*		m_pCardMask;		// カードマスクデータ
		int			m_cardSize;			// カード画像サイズ

	private:
		void release(void);			// 解放
		void loadCardMask(void);	// カードマスク読み込み

	public:
		TextureManager();
		~TextureManager();

		int loadCardTexture(char* pStr);													// カードテクスチャ読み込み
		int loadTexture(char* pStr, int xPart = -1, int yPart = -1, bool isRev = false);	// テクスチャ読み込み
		LPDIRECT3DTEXTURE9	getTexture(int num){ return(m_textureList[num]->pTexture); }
		TEXTURE_DATA*		getTexData(int num){ return(m_textureList[num]); }
};

