/* ========================================================================== * ÆÄ ÀÏ : UISkin.h * ¸ñ Àû : * ÀÛ ¼º ÀÚ : À̼ø±Ô * ÀÛ ¼º ÀÏ : 2006.09.11 * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once class cUINodeSkin; class cParser; class cBitArray; /// ½ºÅ² class cUISkin { public: cUISkin(); ~cUISkin(); /// Áö¿ì±â void Clear(); /// ·Îµù bool Load( const cString& pathName ); /// Àç·Îµù( ½ºÅ²¸¸ ¹Ù²Ù±â ½Ã »ç¿ë ) bool Reload( const cString& pathName ); /// ÅØ½ºÃ³ NiTexture* GetTexture( unsigned int id ); /// ¾ËÆÄºñÆ® ¹è¿­ cBitArray* GetAlphaBitArray( unsigned int id ); /// ³ëµå ½ºÅ² cUINodeSkin* GetNodeSkin( const cString& name ); protected: bool LoadImages( const cString& path, cParser& mParser ); bool LoadScripts( const cString& path, cParser& mParser ); bool LoadScript( const cString& pathName ); bool ReloadScripts( const cString& path, cParser& mParser ); bool ReloadScript( const cString& pathName ); private: /// ÅØ½ºÃÄ ¸Ê typedef tPointerHashMap cTextureMap; cTextureMap mTextureMap; /// ¾ËÆÄ ºñÆ® ¹è¿­ ¸Ê typedef tPointerHashMap cBitArrayMap; cBitArrayMap mAlphaBitArrayMap; /// ³ëµå ½ºÅ² ¸Ê typedef tPointerHashMap cNodeSkinMap; cNodeSkinMap mNodeSkinMap; }; inline NiTexture* cUISkin::GetTexture( unsigned int id ) { return (NiTexture*)mTextureMap.GetAt( id ); } inline cBitArray* cUISkin::GetAlphaBitArray( unsigned int id ) { return (cBitArray*)mAlphaBitArrayMap.GetAt( id ); } inline cUINodeSkin* cUISkin::GetNodeSkin( const cString& name ) { return (cUINodeSkin*)mNodeSkinMap.GetAt( name ); }