/* ========================================================================== * ÆÄ ÀÏ : PartyStateWindow.h * ¸ñ Àû : * ÀÛ ¼º ÀÚ : ±è°¡¶÷ * ÀÛ ¼º ÀÏ : 2007-11-07 * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "UIWindow.h" class cUIImage; class cGauge; class cLabel; class cPartyBuff; enum ePLAYER_JOB; // ÀÛÀº »çÀÌÁî class cPartyStateMiniWindow : public cUIWindow { public: cPartyStateMiniWindow(); virtual ~cPartyStateMiniWindow(); virtual void Open(); virtual void Close(); virtual void Clear(); // óÀ½ »ý¼º½Ã ¼¼ÆÃ virtual void InitPosition( int i ); // Á¤º¸ ¼¼ÆÃ void SetInfo( unsigned long userIdx, LPCTSTR name, unsigned long maxhp, unsigned long hp, unsigned long maxmp, unsigned long mp, unsigned short mapnum, unsigned short roomnum, DWORD channelnum, unsigned int linkIdx ); void UpdateInfo( unsigned long maxhp, unsigned long hp, unsigned long maxmp, unsigned long mp ); // ¸Ê virtual void UpdateMap( unsigned short mapnum, unsigned short roomnum, DWORD channelnum ); virtual void SetSelect( bool set ); /// virtual inline unsigned long GetUserIndex() { return mUserIndex; } void SetPvpLeaderVisible( bool show ); void SetFlagPlayerVisible( bool show ); protected: virtual bool OnCreate( cUINodeProperty* pproperty ); virtual void OnProcess( unsigned long deltaTime, unsigned long accumTime ); virtual void OnRender(cUIFontItemKeeper* pKeeper ); virtual void OnMouseMove( const cUIPos& pos ); virtual void OnLButtonDown( const cUIPos& pos, bool ctrl, bool alt, bool shiftPress ); virtual void OnLButtonDoubleClick(const cUIPos& pos ); virtual void OnRButtonUp( const cUIPos& pos ); virtual void OnMouseHovered( const cUIPos& pos ); virtual void OnMouseLeft( const cUIPos& pos ); virtual void UpdateRect(); virtual void UpdateSkin(); // ¸µÅ© ¹è¿­ À妽º virtual void SetLinkArrIndex( int i ) { mLinkArrIndex = i; } protected: unsigned long mUserIndex; // ¹è¿­ À妽º int mLinkArrIndex; // ³ëµå À§Ä¡ À妽º int mNodeIndex; // ¸Ê ¹øÈ£ unsigned short mMapNum; unsigned short mRoomNum; DWORD mChannelNum; // ÆÄƼÀå bool mIsLeader; // ¼±Åà bool mIsSelect; // cGauge* mpHPGauge; cGauge* mpMPGauge; cLabel* mpName; /// ¼±Åà À̹ÌÁö cUIImage* mpSelectedImage; /// ¿ø·¡ À©µµ¿ì ½ºÅ² Á¤º¸ cUINodeSkin* mpNodeSkin; /// ÆÄƼÀå Ç¥½Ã cUINodeSkin* mpLeaderSkin; cUIImage* mpLeaderImage; /// ÀüÀå¿¡¼­ ¼öÀå Ç¥½Ã cUINodeSkin* mpPvpLeaderSkin; cUIImage* mpPvpLeaderImage; bool mShowPvpLeader; /// Ç÷¡±× ¸ÅÄ¡¿¡¼­ ±ê¹ß µç À¯Àú Ç¥½Ã cUINodeSkin* mpFlagPlayerSkin; cUIImage* mpFlagPlayerImage; bool mShowFlagPlayerLeader; }; //---------------------------------------------------------------------------------- /// ÆÄƼ¿ø »óÅ À©µµ¿ì class cPartyStateWindow : public cPartyStateMiniWindow { public: cPartyStateWindow(); virtual ~cPartyStateWindow(); void Clear(); void ClearBuff(); // óÀ½ »ý¼º½Ã ¼¼ÆÃ void InitPosition( int i ); // ºÎ¸ð²¨ »ç¿ë (ºÒ°¡ void SetInfo( unsigned long userIdx, LPCTSTR name, unsigned long maxhp, unsigned long hp, unsigned long maxmp, unsigned long mp, unsigned short mapnum, unsigned short roomnum, DWORD channelnum, unsigned int linkIdx ); // Á¤º¸ ¼¼ÆÃ void SetInfo( unsigned long userIdx, LPCTSTR name, char level, ePLAYER_JOB job, unsigned long maxhp, unsigned long hp, unsigned long maxmp, unsigned long mp, unsigned short mapnum, unsigned short roomnum, DWORD channelnum, unsigned int linkIdx ); void UpdateInfo( char level, unsigned long maxhp, unsigned long hp, unsigned long maxmp, unsigned long mp ); // ¸Ê void UpdateMap( unsigned short mapnum, unsigned short roomnum, DWORD channelnum ); // Á÷¾÷ void UpdateJob( ePLAYER_JOB job ); /// ÆÄƼ¿ø ¹öÇÁ ¾ÆÀÌÄÜ ¼¼ÆÃ void AddBuff( unsigned long uniqueIdx, unsigned long influenceIdx ); void DelBuff( unsigned long uniqueIdx ); void DelDeBuff( unsigned long uniqueIdx ); void SetLevel( unsigned char level ); // ¹öÇÁÃß°¡ »èÁ¦·Î ÀÎÇÑ void UpdateWindowSize(); // void UpdateMouseHover( cUIPos pos ); protected: bool OnCreate( cUINodeProperty* pproperty ); void OnRender(cUIFontItemKeeper* pKeeper ); void OnMouseMove( const cUIPos& pos ); void OnMouseHovered( const cUIPos& pos ); void OnMouseLeft( const cUIPos& pos ); void UpdateRect(); void UpdateSkin(); void OnShow(); void OnHide(); protected: // Á÷¾÷ Á¤º¸ ePLAYER_JOB mJob; // cLabel* mpLevel; /// ¹öÇÁÀ©µµ¿ì cPartyBuff* mpBuff; // cUIImage* mpJobImage; cUINodeSkin* mpJobSkin; // bool mIsShowMapTip; bool mIsShowJobTip; };