#pragma once //------------------------------------------------------------------------------ /** @author ±¤¼ö @since @remarks µ¥¹ÌÁö¸Þ½¬ Çѹø¿¡ ¸ð¾Æ¼­ DrawCallÇϱâ */ using namespace util; typedef STLX_LIST DMG_LIST; typedef struct _MESH_INFO { WzVector *m_pVertices; //¹öÅØ½º WzUVVert *m_pUVVerts; //¹öÅØ½ºuv WzColor *m_pColor; //¹öÅØ½ºcolor int *m_piIndexMap; //À妽ºmap }MESH_INFO; class DamageMesh { public: DamageMesh( void ); ~DamageMesh( void ); void InitDamage(DWORD dwMaxFace); void Release(); public: void AddDamageList(DAMAGE_POPUP &popup); void ResetDamageList(); void RenderDamageList(DWORD dwTick); private: int MakeDigitArray(INT64 value,BYTE *digitarray); void MakeDamageMesh(int Index,WzVector &vBasePos,int digitcount,BYTE *digitarray,WzColor color,float fWidth,float fHeight); POPUPMESH_SIZE MakeNumberUVVertice(unsigned int number,WzVector &vBasePos,DWORD index,WzColor color,float fNumberWidth,float fNumberHeight); void MoveVertexMesh(WzVector &vOffset,int iVertexStart,int iVertexCount); private: //ÅØ½ºÃÄ HANDLE m_hNumberTexture; //ÃÖ´ë¸é°¹¼ö(2°³¸éÀÌÀÖ¾î¾ßÇϳª¼ýÀÚ¸¦Âï´Â´Ù) DWORD m_dwInitMaxFace; //¸Þ½¬Á¤º¸ MESH_INFO m_Meshinfo; //µ¥¹ÌÁö¸®½ºÆ® DMG_LIST m_DamageList; //Ä«¸Þ¶óº¤ÅÍ(right) WzVector m_vDamageMeshRight; WzVector m_vDamageMeshDown; };