Untitled
unknown
plain_text
2 years ago
6.7 kB
4
Indexable
void CPythonTextTail::ArrangeTextTail() { TTextTailList::iterator itor; TTextTailList::iterator itorCompare; DWORD dwTime = CTimer::Instance().GetCurrentMillisecond(); for (itor = m_ItemTextTailList.begin(); itor != m_ItemTextTailList.end(); ++itor) { TTextTail* pInsertTextTail = *itor; int yTemp = 5; int LimitCount = 0; for (itorCompare = m_ItemTextTailList.begin(); itorCompare != m_ItemTextTailList.end();) { TTextTail* pCompareTextTail = *itorCompare; if (*itorCompare == *itor) { ++itorCompare; continue; } if (LimitCount >= 20) break; if (isIn(pInsertTextTail, pCompareTextTail)) { pInsertTextTail->y = (pCompareTextTail->y + pCompareTextTail->yEnd + yTemp); itorCompare = m_ItemTextTailList.begin(); ++LimitCount; continue; } ++itorCompare; } if (pInsertTextTail->pOwnerTextInstance) { pInsertTextTail->pOwnerTextInstance->SetPosition(pInsertTextTail->x, pInsertTextTail->y, pInsertTextTail->z); pInsertTextTail->pOwnerTextInstance->Update(); pInsertTextTail->pTextInstance->SetColor(pInsertTextTail->Color.r, pInsertTextTail->Color.g, pInsertTextTail->Color.b); pInsertTextTail->pTextInstance->SetPosition(pInsertTextTail->x, pInsertTextTail->y + 15.0f, pInsertTextTail->z); pInsertTextTail->pTextInstance->Update(); } else { pInsertTextTail->pTextInstance->SetColor(pInsertTextTail->Color.r, pInsertTextTail->Color.g, pInsertTextTail->Color.b); pInsertTextTail->pTextInstance->SetPosition(pInsertTextTail->x, pInsertTextTail->y, pInsertTextTail->z); pInsertTextTail->pTextInstance->Update(); } } for (itor = m_CharacterTextTailList.begin(); itor != m_CharacterTextTailList.end(); ++itor) { TTextTail* pTextTail = *itor; float fxAdd = 0.0f; // Mark À§Ä¡ ¾÷µ¥ÀÌÆ® CGraphicMarkInstance* pMarkInstance = pTextTail->pMarkInstance; CGraphicTextInstance* pGuildNameInstance = pTextTail->pGuildNameTextInstance; if (pMarkInstance && pGuildNameInstance) { int iWidth, iHeight; int iImageHalfSize = pMarkInstance->GetWidth() / 2 + c_fxMarkPosition; pGuildNameInstance->GetTextSize(&iWidth, &iHeight); pMarkInstance->SetPosition(pTextTail->x - iWidth / 2 - iImageHalfSize, pTextTail->y - c_fyMarkPosition); pGuildNameInstance->SetPosition(pTextTail->x + iImageHalfSize, pTextTail->y - c_fyGuildNamePosition, pTextTail->z); pGuildNameInstance->Update(); } int iNameWidth, iNameHeight; pTextTail->pTextInstance->GetTextSize(&iNameWidth, &iNameHeight); CGraphicImageInstance* pLanguageInstance = pTextTail->pLanguageInstance; // Title À§Ä¡ ¾÷µ¥ÀÌÆ® CGraphicTextInstance* pTitle = pTextTail->pTitleTextInstance; if (pTitle) { int iTitleWidth, iTitleHeight; pTitle->GetTextSize(&iTitleWidth, &iTitleHeight); fxAdd = 8.0f; if (LocaleService_IsEUROPE()) // µ¶ÀϾî´Â ¸íĪÀÌ ±æ¾î ¿À¸¥Á¤·Ä { if (GetDefaultCodePage() == CP_ARABIC) { pTitle->SetPosition(pTextTail->x - (iNameWidth / 2) - iTitleWidth - 4.0f, pTextTail->y, pTextTail->z); } else { pTitle->SetPosition(pTextTail->x - (iNameWidth / 2), pTextTail->y, pTextTail->z); } } else { pTitle->SetPosition(pTextTail->x - (iNameWidth / 2) - fxAdd, pTextTail->y, pTextTail->z); } pTitle->Update(); // Level À§Ä¡ ¾÷µ¥ÀÌÆ® CGraphicTextInstance* pLevel = pTextTail->pLevelTextInstance; if (pLevel) { int iLevelWidth, iLevelHeight; pLevel->GetTextSize(&iLevelWidth, &iLevelHeight); if (LocaleService_IsEUROPE()) // µ¶ÀϾî´Â ¸íĪÀÌ ±æ¾î ¿À¸¥Á¤·Ä { if (GetDefaultCodePage() == CP_ARABIC) { pLevel->SetPosition(pTextTail->x - (iNameWidth / 2) - iLevelWidth - iTitleWidth - 8.0f, pTextTail->y, pTextTail->z); } else { pLevel->SetPosition(pTextTail->x - (iNameWidth / 2) - iTitleWidth, pTextTail->y, pTextTail->z); } } else { pLevel->SetPosition(pTextTail->x - (iNameWidth / 2) - fxAdd - iTitleWidth, pTextTail->y, pTextTail->z); } pLevel->Update(); if (pLanguageInstance) { int iLevelWidth, iLevelHeight; pLevel->GetTextSize(&iLevelWidth, &iLevelHeight); pLanguageInstance->SetPosition(pTextTail->x - (iNameWidth / 2) - iTitleWidth - iLevelWidth - pLanguageInstance->GetWidth() - 12.0f, pTextTail->y - 10.0f); } } } else { fxAdd = 4.0f; // Level À§Ä¡ ¾÷µ¥ÀÌÆ® CGraphicTextInstance* pLevel = pTextTail->pLevelTextInstance; if (pLevel) { int iLevelWidth, iLevelHeight; pLevel->GetTextSize(&iLevelWidth, &iLevelHeight); if (LocaleService_IsEUROPE()) // µ¶ÀϾî´Â ¸íĪÀÌ ±æ¾î ¿À¸¥Á¤·Ä { if (GetDefaultCodePage() == CP_ARABIC) { pLevel->SetPosition(pTextTail->x - (iNameWidth / 2) - iLevelWidth - 4.0f, pTextTail->y, pTextTail->z); } else { pLevel->SetPosition(pTextTail->x - (iNameWidth / 2), pTextTail->y, pTextTail->z); } } else { pLevel->SetPosition(pTextTail->x - (iNameWidth / 2) - fxAdd, pTextTail->y, pTextTail->z); } pLevel->Update(); if (pLanguageInstance) { pLanguageInstance->SetPosition(pTextTail->x - (iNameWidth / 2) - iLevelWidth - pLanguageInstance->GetWidth() - 8.0f, pTextTail->y - 10.0f); } } } pTextTail->pTextInstance->SetColor(pTextTail->Color.r, pTextTail->Color.g, pTextTail->Color.b); pTextTail->pTextInstance->SetPosition(pTextTail->x + fxAdd, pTextTail->y, pTextTail->z); pTextTail->pTextInstance->Update(); #if defined(WJ_SHOW_MOB_INFO) CGraphicTextInstance* pAIFlag = pTextTail->pAIFlagTextInstance; if (pAIFlag) { pAIFlag->SetColor(pTextTail->Color.r, pTextTail->Color.g, pTextTail->Color.b); pAIFlag->SetPosition(pTextTail->x + fxAdd + (iNameWidth / 2) + 1.0f, pTextTail->y, pTextTail->z);//+1.0f is not neccesarry pAIFlag->Update(); } #endif } for (TChatTailMap::iterator itorChat = m_ChatTailMap.begin(); itorChat != m_ChatTailMap.end();) { TTextTail* pTextTail = itorChat->second; if (pTextTail->LivingTime < dwTime) { DeleteTextTail(pTextTail); itorChat = m_ChatTailMap.erase(itorChat); continue; } else ++itorChat; pTextTail->pTextInstance->SetColor(pTextTail->Color); pTextTail->pTextInstance->SetPosition(pTextTail->x, pTextTail->y, pTextTail->z); pTextTail->pTextInstance->Update(); } }
Editor is loading...