#pragma once #include "uiwindow.h" #include "Icon.h" #include "Button.h" class cSkillTree; class cSkillIcon; /// eMBEVENT_SKILL_BUY ¸Þ½ÃÁö ¹Ú½º¿¡ ÀüÇØÁÙ Ãß°¡ Á¤º¸ struct sExtraData { unsigned int skillIdx; unsigned char skillStep; }; class cSkillSheetWindow : public cUIWindow { public: cSkillSheetWindow( eUINodeType type = eUINODE_TABSHEET ); virtual ~cSkillSheetWindow(); void Clear(); void InitSkillSheetInfo( unsigned long jobIdx, cSkillTree* pTree ); void InitSkillData(); cSkillIcon* GetSkillIcon( unsigned long idx ); void ShowSkillUpButton(); void HideSkillUpButton(); unsigned long GetJobIdx() { return mJobIdx; } void UpdateTree(); void ClearSkillCoolTime( unsigned long exceptSkillIdx ); protected: void OnIconDragged( cUINode* pcaller, unsigned int id, const cUIPos& pos, bool shift ); void OnIconDoubleClicked( cUINode* pcaller, unsigned int id ); void OnLButtonDown( const cUIPos& pos, bool ctrl, bool alt, bool /*shiftPress*/ ); void UpdateSkin(); void OnCommand( cUINode* pcaller, unsigned int id ); void OnNetLock( int lockTry ); void OnNetUnLock( int lockTry ); protected: // ½ºÅ³ ¾ÆÀÌÄÜ °ü¸® typedef tPointerHashMap cSkillIconList; cSkillIconList mManagedIcon; // ·¹º§ ¾÷ ¹öư °ü¸®ÀÚ typedef tPointerHashMap cLevelupButtonMap; cLevelupButtonMap mLevelupButtonMap; NiTexture* mBackTex; unsigned long mJobIdx; cSkillTree* mpTreeInfo; sExtraData mExtraData; }; inline cSkillIcon* cSkillSheetWindow::GetSkillIcon( unsigned long idx ) { return (cSkillIcon*)mManagedIcon.GetAt( idx ); } /////// »ýȰ½ºÅ³°ü·Ã ½ÃÆ® class cCommuSheetWindow : public cUIWindow { public: cCommuSheetWindow( eUINodeType type = eUINODE_TABSHEET ); virtual ~cCommuSheetWindow(); /// Ä¿¹Â´ÏƼ ½ºÅ³ ¹ßµ¿ ¿äû void RequestCommuSkill( unsigned long skillIndex ); void RequestLifeCommand( unsigned long comIdx, LPCTSTR value1, LPCSTR value2 ); protected: bool OnCreate( cUINodeProperty* property ); void OnIconDragged( cUINode* caller, unsigned int id, const cUIPos& pos, bool shift ); void OnIconDoubleClicked( cUINode* caller, unsigned int id ); void OnLButtonDown( const cUIPos& pos, bool ctrl, bool alt, bool /*shiftPress*/ ); void UpdateSkin(); void OnNetLock( int lockTry ); void OnNetUnLock( int lockTry ); protected: typedef tPointerHashMap cCommuIconList; cCommuIconList mManagedIcon; }; /// LButtonDown ¸Þ½ÃÁö¸¦ ¹Þ¾ÒÀ» °æ¿ì ÇØ´ç ¹öưÀÌ ÅÇ ¹öưÀÌ ³»·Á°¡´Â °ÍÀ» ¹æÁöÇϱâÀ§ÇØ ¸¸µç ¹öư class cLevelButton : public cButton { protected: void OnLButtonDoubleClick( const cUIPos& pos ); void OnLButtonDown( const cUIPos& pos, bool ctrl, bool alt, bool shift ); };