texturemanager.h

来自「骨骼动画....把魔兽模型解出的代码..」· C头文件 代码 · 共 87 行

H
87
字号
//+-----------------------------------------------------------------------------
//| Inclusion guard
//+-----------------------------------------------------------------------------
#ifndef MAGOS_TEXTURE_MANAGER_H
#define MAGOS_TEXTURE_MANAGER_H


//+-----------------------------------------------------------------------------
//| Included files
//+-----------------------------------------------------------------------------
#include "Misc.h"


//+-----------------------------------------------------------------------------
//| Pre-declared classes
//+-----------------------------------------------------------------------------
class TEXTURE;


//+-----------------------------------------------------------------------------
//| Constants
//+-----------------------------------------------------------------------------
CONST INT NR_OF_REPLACEABLE_TEXTURES = 13;


//+-----------------------------------------------------------------------------
//| Texture manager class
//+-----------------------------------------------------------------------------
class TEXTURE_MANAGER
{
	public:
		CONSTRUCTOR TEXTURE_MANAGER();
		DESTRUCTOR ~TEXTURE_MANAGER();

		VOID Clear();

		BOOL LoadAllReplaceableTextures();
		VOID UnloadAllReplaceableTextures();

		BOOL Load(CONST std::string& FileName);
		BOOL Unload(CONST std::string& FileName);
		BOOL Import(CONST std::string& FileName, CONST std::string& RealFileName);
		BOOL Export(CONST std::string& FileName, CONST std::string& RealFileName);

		BOOL ResizeTexture(CONST std::string& FileName, CONST std::string& NewFileName, INT NewWidth, INT NewHeight);

		TEXTURE* GetTexture(CONST std::string& FileName);
		TEXTURE* GetReplaceableTexture(INT ReplaceableId);

	protected:
		TEXTURE* GetTeamColorTexture();
		TEXTURE* GetTeamGlowTexture();

		TEXTURE* InternalLoad(CONST std::string& FileName);
		std::string MakeTwoDigitNumber(INT Number);

		TEXTURE* InvalidTexture;
		TEXTURE* ReplaceableTexture11;
		TEXTURE* ReplaceableTexture31;
		TEXTURE* ReplaceableTexture32;
		TEXTURE* ReplaceableTexture33;
		TEXTURE* ReplaceableTexture34;
		TEXTURE* ReplaceableTexture35;
		TEXTURE* TeamColorTexture[NR_OF_REPLACEABLE_TEXTURES];
		TEXTURE* TeamGlowTexture[NR_OF_REPLACEABLE_TEXTURES];

		CONTAINER<TEXTURE*> TextureContainer;
};


//+-----------------------------------------------------------------------------
//| Global objects
//+-----------------------------------------------------------------------------
extern TEXTURE_MANAGER TextureManager;


//+-----------------------------------------------------------------------------
//| Post-included files
//+-----------------------------------------------------------------------------
#include "ResourceLoader.h"


//+-----------------------------------------------------------------------------
//| End of inclusion guard
//+-----------------------------------------------------------------------------
#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?