/* ========================================================================== * ÆÄ ÀÏ : MakeWindow.h * ¸ñ Àû : * ÀÛ ¼º ÀÚ : ±è°¡¶÷ * ÀÛ ¼º ÀÏ : 2006-12-04 * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "UIWindow.h" enum { eChange_None = 0, eChange_Object, eChange_Form, }; class cEditBox; class cSpinBox; class cLabel; class cButton; class cPushButton; class cUIImage; struct sPlayerInfo; const unsigned int MAX_RACE = 3; const unsigned int MAX_JOB = 6; const unsigned int HAIR_NAMING_START_INDEX = 11300; const unsigned int HAIRCOLOR_NAMING_START_INDEX = 11400; const unsigned int FACE_NAMING_START_INDEX = 12001; /// ȸÀü¹öư À©µµ¿ì class cMakeRotateWindow : public cUIWindow { public: cMakeRotateWindow(); virtual ~cMakeRotateWindow(); protected: bool OnCreate(cUINodeProperty* pproperty ); void OnRender(cUIFontItemKeeper* pKeeper ); void OnCommand( cUINode* , unsigned int ); void OnButtonContinueDowned(cUINode* , unsigned int id ); void OnPushButtonPressed( cUINode* caller, unsigned int id ); void UpdateSkin(); private: /// ¹öư ¹è°æ À̹ÌÁö cUIImage* mpButtonBackImg; cUINodeSkin* mpButtonSkin; /// ¿À¸¥¦U ȸÀü cButton* mpRotateRight; /// ¿ÞÂÊȸÀü cButton* mpRotateLeft; cPushButton* mpZoomInOut; }; /// »ý¼ºÁ¤º¸ ¶óº§ À©µµ¿ì class cMakeInfoWindow : public cUIWindow { public: cMakeInfoWindow(); virtual ~cMakeInfoWindow(); void Open(); void UpdateRaceImage( int i ); void UpdateJobImage( int i ); protected: /// À̺¥Æ® bool OnCreate( cUINodeProperty* pproperty ); void OnCommand( cUINode* pcaller, unsigned int id ); void OnRender( cUIFontItemKeeper* pKeeper ); void UpdateSkin(); private: cButton* mpMakeSelect; /// Á¾Á· À̹ÌÁö cUIImage* mpRaceImage[MAX_RACE]; /// Á÷¾÷ À̹ÌÁö cUIImage* mpJobImage[MAX_JOB]; cUINodeSkin* mpRaceSkin; cUINodeSkin* mpJobSkin; cUIPos mRacePos; cUIPos mJobPos; int mCurrentRace; int mCurrentJob; }; /// »ý¼º À©µµ¿ì class cMakeWindow : public cUIWindow { public: cMakeWindow(); virtual ~cMakeWindow(); void Open(); /// »ý¼º¹öư Ȱ¼ºÈ­ ¼¼ÆÃ void SetEnableCreate( bool enable ); void GetDisplayInfo( sPlayerInfo* info ); inline unsigned char CheckDisplayUpdate(); void SetMakeInfoWindow( cMakeInfoWindow* win ); protected: /// À̺¥Æ® bool OnCreate( cUINodeProperty* pproperty ); void OnProcess( unsigned long deltaTime, unsigned long accumTime ); void OnCommand( cUINode* pcaller, unsigned int id ); void OnShow(); void OnHide(); /// void ResetSpinBox(); void ResetHairSpin(); void ResetFaceSpin(); void ResetHairColorSpin(); protected: unsigned char mDisplayUpdate; protected: /// À̸§ cEditBox* mpName; /// Çì¾î ½ºÇɹڽº cSpinBox* mpHairSpin; cSpinBox* mpHairColorSpin; /// ¾ó±¼ ½ºÇÉ ¹Ú½º cSpinBox* mpFaceSpin; /// gender ½ºÇÉ ¹Ú½º cSpinBox* mpGenderSpin; /// Á¾Á· ½ºÇÉ ¹Ú½º cSpinBox* mpRaceSpin; /// Á÷¾÷ ½ºÇÉ ¹Ú½º cSpinBox* mpJobSpin; /// ij¸¯ÅÍ »ý¼º ¹öư cButton* mpCreate; /// cUISize mUpdaetSize; /// cMakeInfoWindow* mpInfoWindow; }; inline unsigned char cMakeWindow::CheckDisplayUpdate() { unsigned char r = mDisplayUpdate; if( mDisplayUpdate != eChange_None ) mDisplayUpdate = eChange_None; return r; } inline void cMakeWindow::SetMakeInfoWindow( cMakeInfoWindow* win ) { if( win ) mpInfoWindow = win; }