/* ========================================================================== * ÆÄ ÀÏ : SkillPreviewWindow.h * ¸ñ Àû : ½ºÅ³ Âï¾îº¸±â À©µµ¿ì * ÀÛ ¼º ÀÚ : ±è°¡¶÷ * ÀÛ ¼º ÀÏ : 2009-08-27 * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "TabWindow.h" const unsigned int MAX_JOBCOMBO = 2; class cLabel; class cComboBox; struct sSkillData { // ÇöÀç ½ºÅÜ unsigned char step; // ÀÚ½ÅÀ» ¼±Çེų·Î °¡Áö´Â ½ºÅ³ ¸®½ºÆ® typedef tHashSet cHashSet; cHashSet skillSet; sSkillData() { step = UCHAR_MAX; } }; struct sPreviewData { /// ÂïÀº Æ÷ÀÎÆ® ÀúÀå long jobPoint; // ÃÖ°í ·¹º§ char highLevel; sPreviewData() { jobPoint = 0; highLevel = 0; } }; // class cSkillPreviewWindow : public cTabWindow { public: cSkillPreviewWindow(); virtual ~cSkillPreviewWindow(); virtual void Open() {} virtual void Close(); void Clear(); virtual void Show( unsigned long jobindex1, unsigned long jobindex2 ); // ½ºÅ³Á¤º¸ »ðÀÔ void InsertKeepSkill( unsigned long skillindex, unsigned char step ); void UpdateSkillStep( unsigned long skillIndex, unsigned char step ); // ÇØ´ç Á÷¾÷°ú °ü·ÃµÈ ·¹º§, Æ÷ÀÎÆ® °è»ê void CheckInfo( unsigned long jobIndex ); void UpdateInfoUI( unsigned long jobIndex ); // Á÷¾÷ °ü·Ã Á¤º¸ »ðÀÔ bool UpdatePreviewData( unsigned long jobIndex, long jobPoint, char highLevel ); sSkillData* GetSkillData( unsigned long skillIndex ); sPreviewData* GetPreviewData( unsigned long jobIndex ); unsigned long GetCurrentJobIndex(); protected: bool OnCreate( cUINodeProperty* property ); void OnCommand( cUINode* node, unsigned int id ); void OnComboSelected( cUINode* , unsigned int id ); void OnHide(); // void UpdateJobCombo( int step ); // heroÀÇ ½ºÅ³°ú µ¿±âÈ­ void SyncHeroSkill(); void ShowJobTab( unsigned int jobStep, unsigned long jobIndex ); void HideJobTab( unsigned int jobStep ); void SetLevel( char level ); void SetUsePoint( long point ); private: // °¢ Á÷¾÷º° ½ºÅ³ °ü¸®ÀÚ ( sPreviewData ) typedef tPointerHashMap cJobSkillMap; cJobSkillMap mJobSkillMap; // µ¥ÀÌÅÍ ( Á÷¾÷À妽º ) typedef tList cJobIndexList; cJobIndexList mJobIndexList; // ÂïÀº ½ºÅ³ Á¤º¸ °ü¸®ÀÚ( ½ºÅ³À妽º, sSkillData ) typedef tPointerHashMap cKeepSkillMap; cKeepSkillMap mKeepSkillMap; // ÃÑ »ç¿ëÇÑ sp cLabel* mpUsePoint; // Çʿ䷹º§ cLabel* mpLimitLevel; // Á÷¾÷ÄÞº¸ cComboBox* mpJobCombo[MAX_JOBCOMBO]; // ½ºÅ³ µ¿±âÈ­ ¹öư cUINode* mpSyncSkill; // ±âº» »çÀÌÁî cUIRect mTabBaseRect; };