#ifndef _SUICreatureCardWnd_h_ #define _SUICreatureCardWnd_h_ //#include "SUIWnd.h" class SUIDisplayInfo; class SInventorySlot; ////////////////////////////////////////////////////////////////////////// class SUICreatureCardBaseWnd : public SUIWnd { public: SUICreatureCardBaseWnd( SGameManager* pGameManager ) : SUIWnd( pGameManager ), m_spTexture(NULL) {} virtual ~SUICreatureCardBaseWnd() {} virtual void OnDeviceLost(); protected: void initIllustTexture(); void refreshInitImg(); void refreshCardImg(); void modifyIllustImg(int enhance); protected: K3DTextureSPtr m_spTexture; std::string m_strIllustImg; }; ////////////////////////////////////////////////////////////////////////// class SUICreatureCardFrontWnd : public SUICreatureCardBaseWnd { public: SUICreatureCardFrontWnd( SGameManager* pGameManager, SUIDisplayInfo* pDisplayInfo ); virtual void PumpUpMessage( LPCSTR lpszControlID, DWORD nMessage, DWORD lparam, DWORD wparam ); virtual bool InitControls( KPoint kPos ); virtual void ProcMsgAtStatic( SGameMessage* pMsg ); virtual void OnNotifyUIWindowOpen( bool bOpen, bool bLimitWnd = true ); virtual bool InitData( bool bReload = false ); protected: void setData( AR_HANDLE cardHandle, int nSummonID, int itemCode, bool isSummon, int const* socket, int enhance, int creatureLevel ); void setData( void ); private: SUIDisplayInfo* m_pDisplayInfo; AR_HANDLE m_handle; bool m_needReqSkillTreeData; KUIControlStatic* m_pAffiliation; // 계열 컨트롤 KUIControlIconStatic* m_pAffiliationIcon; // 계열 아이콘 KUIControlStatic* m_pOverBreed; // 오버 브리드 컨트롤 KUIControlStatic* m_pOverBreedIcon; // 오버 브리드 아이콘 std::string m_strAffiliationNamePropertyTag; // 계열 속성 태그 ,.. std::string m_strOverBreedPropertyTag; // 오버브리드 속성 태그 ,.. }; ////////////////////////////////////////////////////////////////////////// class SUICreatureCardBackWnd : public SUIWnd { public: SUICreatureCardBackWnd( SGameManager* pGameManager, SUIDisplayInfo* pDisplayInfo ); virtual ~SUICreatureCardBackWnd( void ); virtual void PumpUpMessage( LPCSTR lpszControlID, DWORD nMessage, DWORD lparam, DWORD wparam ); virtual bool InitControls( KPoint kPos ); virtual void ProcMsgAtStatic( SGameMessage* pMsg ); virtual void OnNotifyUIWindowOpen( bool bOpen, bool bLimitWnd = true ); virtual bool InitData( bool bReload = false ); private: void setCreatureEnhance(int _etherealDurability, int _enhance); void RefreshScrollbar(); void setSkillTree(SMSG_SKILL_LEVEL_LIST* info); void setSkillData(int index, int skillId, int skillLevel); void setData( AR_HANDLE cardHandle, AR_HANDLE creatureHandle, int itemCode, int nSummonID, bool isSummon, int const* socket, int etherealDurability, int enhance, int creatureLevel, const std::vector& vecSkillList ); private: SUIDisplayInfo* m_pDisplayInfo; int m_nSkillDataSize; int m_nScrollPos; int m_maxDurGageSize; KUIControlIconStatic* m_pAffiliationIcon; // 계열 아이콘 KUIControlStatic* m_pOverBreed; // 오버 브리드 컨트롤 KUIControlStatic* m_pOverBreedIcon; // 오버 브리드 아이콘 std::string m_strOverBreedPropertyTag; // 오버브리드 속성 태그 ,.. std::vector< class SSkillSlot* > m_vSkillSlotList; std::vector m_skillLevelList; /// 2011.05.12 m_vSkillSlotList를 쓸 수 없는 이유는 m_vSkillSlotList는 포인터를 넣기 때문이다 - prodongi }; class SUIBossMonsterCardWnd : public SUICreatureCardBaseWnd { public: SUIBossMonsterCardWnd( SGameManager* pGameManager, class SUIDisplayInfo* displayInfo ) : SUICreatureCardBaseWnd( pGameManager ) , m_displayInfo(displayInfo) , m_pAffiliationIcon( NULL ) {} virtual ~SUIBossMonsterCardWnd() {} virtual bool InitControls( KPoint kPos ); virtual bool InitData( bool bReload = false ); virtual void PumpUpMessage( LPCSTR lpszControlID, DWORD nMessage, DWORD lparam, DWORD wparam ); virtual void ProcMsgAtStatic( SGameMessage* pMsg ); protected: SUIDisplayInfo* m_displayInfo; KUIControlIconStatic* m_pAffiliationIcon; // 계열 아이콘 }; #endif