/* ==================================================================== * ÆÄ ÀÏ : ObjectNameCard.h * ¸ñ Àû : °´Ã¼ÀÇ À̸§À» Ç¥½ÃÇϱâ À§ÇÑ Å¬·¡½º * ÀÛ ¼º ÀÚ : À̹ý¼® * ÀÛ ¼º ÀÏ : 2006.12 * ÁÖÀÇ»çÇ× : * =================================================================== */ #pragma once #include "DepthPlane.h" class cPlaneObject; class cBaseObject; class cNameCardGauge; /* ó¸® »çÇ× 1. Âï´Â À§Ä¡ => x,z(foot dummy À§Ä¡) y(foot dummy_y + head dummy_y + offset value) 2. font object¿¡ ±íÀÌ ¹öÆÛ¸¦ Ãß°¡ÇÑ °´Ã¼¸¦ »ç¿ëÇÑ´Ù. °ÔÀÌÁö 5 4 ( 150 * 8 ) 5 16( 150 * 8 ) */ /// Ç¥½Ã ³»¿ë ¿É¼Ç enum eNameCardOption { eRenderType_3D = 0, eRenderType_2D, }; const unsigned int GAUGE_WIDTH = 119; const unsigned int GAUGE_HEIGHT = 7; const unsigned int GAUGE_TEXWIDTH = 1; const unsigned int GAUGE_TEXHEIGHT = 7; const unsigned int NAMECARD_WIDTH = 300;//100; const unsigned int NAMECARD_HEIGHT = 68;//34; const unsigned int NAME_GAP = 4; const unsigned int PVP_MARK_A = 62; const unsigned int PVP_MARK_B = 63; /// »ç¿ë ÇüÅ´ 3D°´Ã¼¿¡ ´ëÇÑ À̸§¸¸ Âï´Â °æ¿ì »ç¿ëÇÑ´Ù. (¿¹ : ¾ÆÀÌÅÛ) class cNameCard : public cPlane { public: cNameCard(); virtual ~cNameCard(); struct sName { TCHAR mString[256]; int mStrLen; unsigned long mColor; long mPixelWidth; long mPixelHeight; sName() { _stprintf_s( mString, _T("%s"), _T("") ); mStrLen = ::_tcslen(mString); mColor = 0xFFFFFFFF;//0xFF19F0A0;//0xFF111111; // mPixelWidth = NAMECARD_WIDTH; // mPixelHeight = 12; mPixelWidth = 0; mPixelHeight = 0; } }; inline LPCTSTR GetName() { return mName.mString; } inline virtual unsigned long GetNameColor() { return mName.mColor; } virtual void SetName( LPTSTR name ); virtual void SetName( LPTSTR name, unsigned long color ); virtual void SetNameColor( unsigned long color ); /// °»½ÅÀÌ ÇÊ¿äÇÑ °æ¿ì¿¡ ¿ÜºÎ¿¡¼­ È£ÃâÇÑ´Ù. virtual void ChangeTextValue() {} virtual void ChangeGaugeValue() {} void Set2DPos( int hscreenX, int hscreenY, int fscreenX, int fscreenY ); void Set2DFootPos( int fscreenX, int fscreenY ); virtual void Draw(); protected: NiColorA mBackColor; /// °´Ã¼ À̸§ sName mName; int mHeadScreenX; int mHeadScreenY; int mFootScreenX; int mFootScreenY; }; /// »ç¿ë ÇüÅ´ 3D°´Ã¼Áß HP¹×MP¿¡ ´ëÇÑ Ç¥ÇöÀÌ ÇÊ¿äÇÑ °´Ã¼ (¿¹ : ¸ó½ºÅÍ, NPC, ij¸¯ÅÍ ) class cObjectNameCard : public cNameCard { public: virtual ~cObjectNameCard(); inline virtual void SetEnableGauge( bool enable ) { mUsedGauge = enable; } virtual void ChangeGuildName() {} virtual void ChangeGuildMark() {} virtual void SetTodayWord( LPTSTR word, unsigned long color = 0xFFFFFFFF ){} virtual void PreviewGuildMark( NiTexture* tex ) {} void PreRender(); protected: cObjectNameCard( cBaseObject* pObj ); protected: /// À̸§Ç¥ÀÇ ÁÖÀÎ °´Ã¼ cBaseObject* mpOriginObject; /// °ÔÀÌÁö Á¤º¸ bool mUsedGauge; cNameCardGauge* mpHPGauge; cNameCardGauge* mpMPGauge; }; /// NPC Á¤º¸¸¦ Ç¥½ÃÇÑ´Ù. class cNpcNameCard : public cObjectNameCard { public: cNpcNameCard( cBaseObject* pObj ); virtual ~cNpcNameCard(); inline LPCTSTR GetJobName() { return mJobName.mString; } inline virtual unsigned long GetJobNameColor() { return mJobName.mColor; } virtual void ChangeTextValue(); virtual void Draw(); protected: virtual void SetJobName( LPTSTR name ); //virtual void SetJobName( LPTSTR name, unsigned long color ); inline virtual void SetJobNameColor( unsigned long color ) { mJobName.mColor = color; } protected: sName mJobName; }; /// »ç¿ë ÇüÅ´ 3D°´Ã¼Áß ¸ó½ºÅÍ¿¡ ´ëÇÑ Á¤º¸¸¦ Ç¥½ÃÇÑ´Ù.(¸¶³ª °ÔÀÌÁö¸¦ Ç¥½Ã ÇÏÁö ¾Ê´Â´Ù) class cMonsterNameCard : public cNpcNameCard { public: cMonsterNameCard( cBaseObject* pObj ); virtual ~cMonsterNameCard(); virtual void ChangeTextValue(); virtual void ChangeGaugeValue(); virtual void Draw(); }; /// »ç¿ë ÇüÅ´ 3D°´Ã¼Áß Player¿Í °°ÀÌ °ÔÀÓÀÇ Æ¯¼º Á¤º¸¸¦ Ç¥½ÃÇÏ´Â °æ¿ì class cPlayerNameCard : public cObjectNameCard { public: cPlayerNameCard( cBaseObject* pObj ); virtual ~cPlayerNameCard(); virtual void ChangeTextValue(); virtual void ChangeGaugeValue(); virtual void ChangeGuildName(); virtual void ChangeGuildMark(); virtual void SetDeleteWaitWord( LPTSTR word, unsigned long color = 0xFFFFFFFF ); virtual void SetTitleName( LPTSTR titleName, unsigned long color = 0xFFFFFFFF ); virtual void SetTodayWord( LPTSTR word, unsigned long color = 0xFFFFFFFF ); virtual void SetGuildName( LPTSTR guildName ); virtual void PreviewGuildMark( NiTexture* tex ); virtual void Draw(); protected: bool mIsHeroNameCard; /// °³ÀÎȣĪ sName mTitleName; /// ±æµåÀ̸§ sName mGuildName; /// ¿À´ÃÀÇ ÇѸ¶µð sName mTodayWord; sName mPreviewTodayWord; /// ¹Ì¸®º¸±â¿ë /// »èÁ¦´ë±â sName mDeleteWaitWord; /// ±æµå ¸¶Å© cPlaneObject* mpGuildMark; bool mEnableGuildMark; // ÀüÀå ÆÀ ¸¶Å© cPlaneObject* mpPVPMark; bool mEnablePVPMark; };