/* ========================================================================== * ÆÄ ÀÏ : ItemMixWindow.h * ¸ñ Àû : ¾ÆÀÌÅÛ Á¶ÇÕ À©µµ¿ì * ÀÛ ¼º ÀÚ : ±è°¡¶÷ * ÀÛ ¼º ÀÏ : 2009-01-09 * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "UIWindow.h" #include "ListFolderBox.h" class cLabel; class cGauge; class cComboBox; class cUIImage; class cDoubleItemIconListBox; class cNumberEditBox; class cItemIcon; class cButton; class cCheckBox; class cItemMixListFolder; struct sKeepRecipe; class cItemMixWindow : public cUIWindow { public: cItemMixWindow(); virtual ~cItemMixWindow(); virtual void Open(); virtual void Close(); void Clear(); /// º¸Á¶Á÷¾÷ °»½Å void UpdateMakeSkill(); /// ·¹½ÃÇÇ Á¤º¸ °»½Å void UpdateRecipeList( unsigned char index, bool bInit = true, bool bPossible = false ); /// Á¶ÇÕ ÈÄ ¸®½ºÆ® Àç °»½Å ÈÄ ¼±Åù٠°»½Å void UpdateRecipeList(); /// ¼±ÅùÙ, °á°ú Àç·á °»½Å void UpdateSelectedRecipe(); /// Á¶ÇÕ ÇÒ¼ö ÀÖ´Â ¾ÆÀÌÅÛ °¹¼ö¸¸ °»½Å void UpdateItemCount(); // ¼÷·Ãµµ °»½Å void SetMixExp( unsigned char skillIndex, unsigned long exp ); void StartGauge( float speed ); void StopGauge(); void NetGaugeEnd( bool success = true ); // ÇöÀç ¼±ÅõǾîÀÖ´Â ½ºÅ³ unsigned char GetSelectSkill(); void HideESC( bool onsound ); protected: bool OnCreate( cUINodeProperty* pproperty ); void OnProcess( unsigned long deltaTime, unsigned long accumTime ); void OnCommand( cUINode* , unsigned int ); void OnComboSelected( cUINode* , unsigned int ); void OnListBoxChanged( cUINode* , unsigned int ); void OnCheckBoxChanged( cUINode* , unsigned int ); void OnShow(); void OnHide(); void OnNetLock( int lockTry ); void OnNetUnLock( int lockTry ); void InitCoolTime(); /// ¿Ï·á °¹¼ö ¼¼ÆÃ void SetCompleteCount( int count ); unsigned int GetMaxValue( unsigned long recipeIdx, bool bChatMsg = true ); private: cComboBox* mpSkillCombo; /// Á¶ÇÕ ½ºÅ³ ÄÞº¸¹Ú½º cItemMixListFolder* mpRecipeList; /// ·¹½ÃÇÇ cDoubleItemIconListBox* mpItemList; /// Á¶ÇÕ ¾ÆÀÌÅÛ Á¤º¸ ¸®½ºÆ®¹Ú½º // cLabel* mpCoolTime; /// Á¶ÇÕ ´ë±â½Ã°£ cLabel* mpCompleteCount; /// Á¶ÇÕ ¿Ï¼ºµÈ °¹¼ö cLabel* mpGrade; // µî±Þ cLabel* mpPoint; // ¼÷·Ãµµ cLabel* mpGoalPoint; // ¸ñÇ¥¼÷·Ãµµ cGauge* mpGaugeBar; /// Á¶ÇÕ °ÔÀÌÁö cNumberEditBox* mpMixCount; /// Á¶ÇÕ°¹¼ö ÀÔ·Â ¿¡µðÆ® cButton* mpMax; cUIImage* mpHighImage; /// Æú´õ ¹Ú½º üũ À̹ÌÁö°ü¸® // ½ÃÀÛ cButton* mpMixStart; // Áß´Ü cButton* mpMixStop; // ±â¼úÆ÷±â cButton* mpMixGiveUp; // ¿ä¸® °¡´ÉÇÑ ·¹½ÃÇÇ ¸ñ·Ï cCheckBox* mpPossibleRecipeCheck; /// sKeepRecipe* mpRecipeCool; /// ·¹½ÃÇÇ ÄðŸÀÓ /// °á°ú È®·ü ¶óº§ cItemIcon* mpResultIcon[3]; cLabel* mpResultRate[3]; unsigned int mAutoRemainCount; unsigned int mAutoCount; float mAutoSpeed; }; // Äù½ºÆ®¿ë ¸®½ºÆ® Æú´õ ¹Ú½º class cItemMixListFolder : public cListFolderBox { public: cItemMixListFolder(); virtual ~cItemMixListFolder(); /// extraData¸¦ °¡Áö°íÀÖ´Â ÇÏÀ§¿­À» ã¾Æ¼­ ¸®ÅÏ - Á¢ÇôÀÖÀ¸¸é ¸®ÅÏ ¾ÈÇÔ int FindColumnByExtra( unsigned long type, unsigned long recipe ); };