Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
386 lines
16 KiB
C++
386 lines
16 KiB
C++
// HumanStatus.cpp: implementation of the CHumanStatus class.
|
||
//
|
||
//////////////////////////////////////////////////////////////////////
|
||
|
||
#include "ClientMain.h"
|
||
#include "HumanStatus.h"
|
||
#include "GUITextEdit.h"
|
||
#include "WinInput.h"
|
||
|
||
//////////////////////////////////////////////////////////////////////
|
||
// Construction/Destruction
|
||
//////////////////////////////////////////////////////////////////////
|
||
|
||
CHumanStatus::CHumanStatus()
|
||
{
|
||
|
||
}
|
||
|
||
CHumanStatus::~CHumanStatus()
|
||
{
|
||
|
||
}
|
||
|
||
BOOL CHumanStatus::Init(unsigned short x, unsigned short y)
|
||
{
|
||
CSprite *lpSprite;
|
||
lpSprite = new CSprite;
|
||
lpSprite->Create(x, y, 0, 0, 222, 256, g_ClientMain.m_lpInterface->m_lstTexture[4]);
|
||
m_lstSprite.push_back(lpSprite);
|
||
|
||
lpSprite = new CSprite;
|
||
lpSprite->Create(x, y + 256, 0, 0, 222, 224, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
||
m_lstSprite.push_back(lpSprite);
|
||
|
||
CGUIButton *lpButton;
|
||
lpButton = new CGUIButton;
|
||
lpButton->m_nMethod = BUTTON_SIMPLE;
|
||
lpButton->m_lpNormalButton = new CSprite;
|
||
lpButton->m_lpNormalButton->Create(93, 239, 0, 224, 16, 239, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
||
lpButton->m_lpClickMouseButton = new CSprite;
|
||
lpButton->m_lpClickMouseButton->Create(93, 239, 16, 224, 32, 239, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
||
lpButton->SetTooltip(&m_TooltipManager, "1");
|
||
lpButton->SetMove(x, y);
|
||
m_ButtonManager.AddButton(lpButton);
|
||
|
||
lpButton = new CGUIButton;
|
||
lpButton->m_nMethod = BUTTON_SIMPLE;
|
||
lpButton->m_lpNormalButton = new CSprite;
|
||
lpButton->m_lpNormalButton->Create(191, 239, 0, 224, 16, 239, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
||
lpButton->m_lpClickMouseButton = new CSprite;
|
||
lpButton->m_lpClickMouseButton->Create(191, 239, 16, 224, 32, 239, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
||
lpButton->SetTooltip(&m_TooltipManager, "2");
|
||
lpButton->SetMove(x, y);
|
||
m_ButtonManager.AddButton(lpButton);
|
||
|
||
lpButton = new CGUIButton;
|
||
lpButton->m_nMethod = BUTTON_SIMPLE;
|
||
lpButton->m_lpNormalButton = new CSprite;
|
||
lpButton->m_lpNormalButton->Create(93, 266, 0, 224, 16, 239, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
||
lpButton->m_lpClickMouseButton = new CSprite;
|
||
lpButton->m_lpClickMouseButton->Create(93, 266, 16, 224, 32, 239, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
||
lpButton->SetTooltip(&m_TooltipManager, "3");
|
||
lpButton->SetMove(x, y);
|
||
m_ButtonManager.AddButton(lpButton);
|
||
|
||
lpButton = new CGUIButton;
|
||
lpButton->m_nMethod = BUTTON_SIMPLE;
|
||
lpButton->m_lpNormalButton = new CSprite;
|
||
lpButton->m_lpNormalButton->Create(191, 266, 0, 224, 16, 239, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
||
lpButton->m_lpClickMouseButton = new CSprite;
|
||
lpButton->m_lpClickMouseButton->Create(191, 266, 16, 224, 32, 239, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
||
lpButton->SetTooltip(&m_TooltipManager, "4");
|
||
lpButton->SetMove(x, y);
|
||
m_ButtonManager.AddButton(lpButton);
|
||
|
||
lpButton = new CGUIButton;
|
||
lpButton->m_nMethod = BUTTON_SIMPLE;
|
||
lpButton->m_lpNormalButton = new CSprite;
|
||
lpButton->m_lpNormalButton->Create(93, 292, 0, 224, 16, 239, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
||
lpButton->m_lpClickMouseButton = new CSprite;
|
||
lpButton->m_lpClickMouseButton->Create(93, 292, 16, 224, 32, 239, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
||
lpButton->SetTooltip(&m_TooltipManager, "5");
|
||
lpButton->SetMove(x, y);
|
||
m_ButtonManager.AddButton(lpButton);
|
||
|
||
lpButton = new CGUIButton;
|
||
lpButton->m_nMethod = BUTTON_SIMPLE;
|
||
lpButton->m_lpNormalButton = new CSprite;
|
||
lpButton->m_lpNormalButton->Create(190, 1, 0, 0, 28, 28, g_ClientMain.m_lpInterface->m_lpCommonWindow);
|
||
lpButton->m_lpClickMouseButton = new CSprite;
|
||
lpButton->m_lpClickMouseButton->Create(190, 1, 28, 0, 56, 28, g_ClientMain.m_lpInterface->m_lpCommonWindow);
|
||
lpButton->SetTooltip(&m_TooltipManager, g_StringTable.m_strString[240]);
|
||
lpButton->SetMove(x, y);
|
||
m_ButtonManager.AddButton(lpButton);
|
||
|
||
m_bShow = FALSE;
|
||
|
||
m_dwWindowKind = WINDOW_FIX;
|
||
|
||
m_rcWindowSize.left = x; m_rcWindowSize.top = y;
|
||
m_rcWindowSize.right = x + 222; m_rcWindowSize.bottom = y + 480;
|
||
|
||
m_rcMoveEdge.left = x; m_rcMoveEdge.top = y;
|
||
m_rcMoveEdge.right = x + 150; m_rcMoveEdge.bottom = y + 20;
|
||
|
||
return TRUE;
|
||
}
|
||
|
||
BOOL CHumanStatus::Update(BOOL &bClick, BOOL &bEdge)
|
||
{
|
||
if(g_DeviceInput.InRect(m_rcWindowSize.left, m_rcWindowSize.top, m_rcWindowSize.right, m_rcWindowSize.bottom))
|
||
{
|
||
bEdge = TRUE;
|
||
|
||
if(g_DeviceInput.GetIsLeftMouseDown() || g_DeviceInput.GetIsMiddleMouseDown() || g_DeviceInput.GetIsRightMouseDown() ||
|
||
g_DeviceInput.GetIsLeftMousePress() || g_DeviceInput.GetIsMiddleMousePress() || g_DeviceInput.GetIsRightMousePress() ||
|
||
g_DeviceInput.GetIsLeftMouseUp() || g_DeviceInput.GetIsMiddleMouseUp() || g_DeviceInput.GetIsRightMouseUp())
|
||
{
|
||
bClick = TRUE;
|
||
}
|
||
}
|
||
|
||
if(g_ClientMain.m_csStatus.m_Info.IP)
|
||
{
|
||
char strString[100];
|
||
m_ButtonManager.m_lstButton[0]->ShowButton(TRUE);
|
||
sprintf(strString, g_StringTable.m_strString[241], g_ClientMain.m_csStatus.GetUseIP(STATUS_STR));
|
||
((CGUITooltipButton *)(m_ButtonManager.m_lstButton[0]->m_lpTooltip))->InitTooltip(strString);
|
||
m_ButtonManager.m_lstButton[1]->ShowButton(TRUE);
|
||
sprintf(strString, g_StringTable.m_strString[241], g_ClientMain.m_csStatus.GetUseIP(STATUS_DEX));
|
||
((CGUITooltipButton *)(m_ButtonManager.m_lstButton[1]->m_lpTooltip))->InitTooltip(strString);
|
||
m_ButtonManager.m_lstButton[2]->ShowButton(TRUE);
|
||
sprintf(strString, g_StringTable.m_strString[241], g_ClientMain.m_csStatus.GetUseIP(STATUS_WIS));
|
||
((CGUITooltipButton *)(m_ButtonManager.m_lstButton[2]->m_lpTooltip))->InitTooltip(strString);
|
||
m_ButtonManager.m_lstButton[3]->ShowButton(TRUE);
|
||
sprintf(strString, g_StringTable.m_strString[241], g_ClientMain.m_csStatus.GetUseIP(STATUS_INT));
|
||
((CGUITooltipButton *)(m_ButtonManager.m_lstButton[3]->m_lpTooltip))->InitTooltip(strString);
|
||
m_ButtonManager.m_lstButton[4]->ShowButton(TRUE);
|
||
sprintf(strString, g_StringTable.m_strString[241], g_ClientMain.m_csStatus.GetUseIP(STATUS_CON));
|
||
((CGUITooltipButton *)(m_ButtonManager.m_lstButton[4]->m_lpTooltip))->InitTooltip(strString);
|
||
} else
|
||
{
|
||
m_ButtonManager.m_lstButton[0]->ShowButton(FALSE);
|
||
m_ButtonManager.m_lstButton[1]->ShowButton(FALSE);
|
||
m_ButtonManager.m_lstButton[2]->ShowButton(FALSE);
|
||
m_ButtonManager.m_lstButton[3]->ShowButton(FALSE);
|
||
m_ButtonManager.m_lstButton[4]->ShowButton(FALSE);
|
||
}
|
||
|
||
m_ButtonManager.Update();
|
||
m_TooltipManager.Update();
|
||
|
||
if(m_ButtonManager.m_lstButton[0]->m_nState == BUTTON_CLICK)
|
||
{
|
||
g_ClientMain.m_Network.m_pSocket->CharIncreasePoint(g_ClientMain.m_dwMyChrID, ClientSocket::StateType_STR);
|
||
} else if(m_ButtonManager.m_lstButton[1]->m_nState == BUTTON_CLICK)
|
||
{
|
||
g_ClientMain.m_Network.m_pSocket->CharIncreasePoint(g_ClientMain.m_dwMyChrID, ClientSocket::StateType_DEX);
|
||
} else if(m_ButtonManager.m_lstButton[2]->m_nState == BUTTON_CLICK)
|
||
{
|
||
g_ClientMain.m_Network.m_pSocket->CharIncreasePoint(g_ClientMain.m_dwMyChrID, ClientSocket::StateType_WIS);
|
||
} else if(m_ButtonManager.m_lstButton[3]->m_nState == BUTTON_CLICK)
|
||
{
|
||
g_ClientMain.m_Network.m_pSocket->CharIncreasePoint(g_ClientMain.m_dwMyChrID, ClientSocket::StateType_INT);
|
||
} else if(m_ButtonManager.m_lstButton[4]->m_nState == BUTTON_CLICK)
|
||
{
|
||
g_ClientMain.m_Network.m_pSocket->CharIncreasePoint(g_ClientMain.m_dwMyChrID, ClientSocket::StateType_CON);
|
||
} else if(m_ButtonManager.m_lstButton[5]->m_nState == BUTTON_CLICK)
|
||
{
|
||
m_ButtonManager.m_lstButton[5]->m_nState = BUTTON_NONE;
|
||
m_bShow = FALSE;
|
||
}
|
||
|
||
return TRUE;
|
||
}
|
||
|
||
void CHumanStatus::Render(LPDIRECT3DDEVICE8 lpD3DDevice)
|
||
{
|
||
m_lstSprite[0]->Render(lpD3DDevice, m_cAlpha);
|
||
m_lstSprite[1]->Render(lpD3DDevice, m_cAlpha);
|
||
|
||
RECT rcRect;
|
||
char strString[MAX_PATH];
|
||
// <20≯<EFBFBD>
|
||
SetRect(&rcRect, 38 + m_rcWindowSize.left, 36 + m_rcWindowSize.top, 198 + m_rcWindowSize.left, 50 + m_rcWindowSize.top);
|
||
g_TextEdit.DrawText(g_ClientMain.m_csStatus.m_Info.Name, &rcRect, DT_CENTER | DT_VCENTER, D3DCOLOR_RGBA(255, 255, 255, m_cAlpha));
|
||
|
||
// Ŭ<><C5AC><EFBFBD><EFBFBD>
|
||
SetRect(&rcRect, 80 + m_rcWindowSize.left, 59 + m_rcWindowSize.top, 189 + m_rcWindowSize.left, 73 + m_rcWindowSize.top);
|
||
g_TextEdit.DrawText(g_ClientMain.m_lpCommonInterface->GetClassName(g_ClientMain.m_csStatus.m_Info.Class), &rcRect, DT_CENTER | DT_VCENTER, D3DCOLOR_RGBA(255, 255, 255, m_cAlpha));
|
||
|
||
// <20><><EFBFBD><EFBFBD>
|
||
SetRect(&rcRect, 80 + m_rcWindowSize.left, 105 + m_rcWindowSize.top, 189 + m_rcWindowSize.left, 119 + m_rcWindowSize.top);
|
||
|
||
int nMerits = g_ClientMain.m_csStatus.m_Info.Merits;
|
||
|
||
int nMeritsNameField = 0;
|
||
|
||
if( 1 <= nMerits && nMerits <= 1000 )
|
||
{
|
||
nMeritsNameField = 1;
|
||
}
|
||
else if( 1001 <= nMerits && nMerits <= 3000 )
|
||
{
|
||
nMeritsNameField = 2;
|
||
}
|
||
else if( 3001 <= nMerits && nMerits <= 6000 )
|
||
{
|
||
nMeritsNameField = 3;
|
||
}
|
||
else if( 6001 <= nMerits )
|
||
{
|
||
nMeritsNameField = 4;
|
||
}
|
||
|
||
int nClassInfo = 0;
|
||
|
||
switch( g_ClientMain.m_csStatus.m_Info.Class )
|
||
{
|
||
case 5: // Defender
|
||
nClassInfo = 0;
|
||
break;
|
||
case 6: // Warrior
|
||
nClassInfo = 1;
|
||
break;
|
||
case 7: // Assasin
|
||
nClassInfo = 2;
|
||
break;
|
||
case 8: // Archer
|
||
nClassInfo = 3;
|
||
break;
|
||
case 9: // Sorcerer
|
||
nClassInfo = 4;
|
||
break;
|
||
case 10: // Enchanter
|
||
nClassInfo = 5;
|
||
break;
|
||
case 11: // Priest
|
||
nClassInfo = 6;
|
||
break;
|
||
case 12: // Cleric
|
||
nClassInfo = 7;
|
||
break;
|
||
case 19: // Templer
|
||
nClassInfo = 8;
|
||
break;
|
||
case 20: // Attacker
|
||
nClassInfo = 9;
|
||
break;
|
||
case 21: // Gunner
|
||
nClassInfo = 10;
|
||
break;
|
||
case 22: // Rune Ope
|
||
nClassInfo = 11;
|
||
break;
|
||
case 23: // Life Ope
|
||
nClassInfo = 12;
|
||
break;
|
||
case 24: // Shadow Ope
|
||
nClassInfo = 13;
|
||
break;
|
||
}
|
||
|
||
if( nMeritsNameField == 0 || nClassInfo == 0)
|
||
{
|
||
g_TextEdit.DrawText("None", &rcRect, DT_CENTER | DT_VCENTER, D3DCOLOR_RGBA(255, 255, 255, m_cAlpha));
|
||
}
|
||
else
|
||
{
|
||
int nStringTable = nClassInfo * 4 + 1000 + nMeritsNameField - 1 ;
|
||
|
||
strcpy( strString, g_StringTable.m_strString[ nStringTable ] );
|
||
|
||
g_TextEdit.DrawText( strString, &rcRect, DT_CENTER | DT_VCENTER, D3DCOLOR_RGBA(255, 255, 255, m_cAlpha));
|
||
|
||
}
|
||
|
||
|
||
// <20><><EFBFBD>嵵
|
||
SetRect(&rcRect, 80 + m_rcWindowSize.left, 129 + m_rcWindowSize.top, 189 + m_rcWindowSize.left, 143 + m_rcWindowSize.top);
|
||
sprintf(strString, "%d", g_ClientMain.m_csStatus.m_Info.Merits);
|
||
g_TextEdit.DrawText(strString, &rcRect, DT_CENTER | DT_VCENTER, D3DCOLOR_RGBA(255, 255, 255, m_cAlpha));
|
||
|
||
// <20><><EFBFBD><EFBFBD>
|
||
SetRect(&rcRect, 80 + m_rcWindowSize.left, 153 + m_rcWindowSize.top, 189 + m_rcWindowSize.left, 166 + m_rcWindowSize.top);
|
||
sprintf(strString, "%d", g_ClientMain.m_csStatus.m_Info.Fame);
|
||
g_TextEdit.DrawText(strString, &rcRect, DT_CENTER | DT_VCENTER, D3DCOLOR_RGBA(255, 255, 255, m_cAlpha));
|
||
|
||
// <20><><EFBFBD><EFBFBD>
|
||
SetRect(&rcRect, 80 + m_rcWindowSize.left, 175 + m_rcWindowSize.top, 189 + m_rcWindowSize.left, 189 + m_rcWindowSize.top);
|
||
sprintf(strString, "%d", g_ClientMain.m_csStatus.m_Info.Level);
|
||
g_TextEdit.DrawText(strString, &rcRect, DT_CENTER | DT_VCENTER, D3DCOLOR_RGBA(255, 255, 255, m_cAlpha));
|
||
|
||
// <20><><EFBFBD><EFBFBD>ġ
|
||
SetRect(&rcRect, 80 + m_rcWindowSize.left, 199 + m_rcWindowSize.top, 189 + m_rcWindowSize.left, 213 + m_rcWindowSize.top);
|
||
sprintf(strString, "%4.2f %%", (float)((double)g_ClientMain.m_csStatus.m_Info.Exp / (double)g_ClientMain.m_csStatus.m_llExpMax * 100.0f));
|
||
g_TextEdit.DrawText(strString, &rcRect, DT_CENTER | DT_VCENTER, D3DCOLOR_RGBA(255, 255, 255, m_cAlpha));
|
||
|
||
SetRect(&rcRect, 59 + m_rcWindowSize.left, 239 + m_rcWindowSize.top, 92 + m_rcWindowSize.left, 256 + m_rcWindowSize.top);
|
||
g_ClientMain.m_lpCommonInterface->RenderNum(lpD3DDevice, g_ClientMain.m_csStatus.m_Info.STR, &rcRect);
|
||
|
||
SetRect(&rcRect, 158 + m_rcWindowSize.left, 239 + m_rcWindowSize.top, 191 + m_rcWindowSize.left, 256 + m_rcWindowSize.top);
|
||
g_ClientMain.m_lpCommonInterface->RenderNum(lpD3DDevice, g_ClientMain.m_csStatus.m_Info.DEX, &rcRect);
|
||
|
||
SetRect(&rcRect, 59 + m_rcWindowSize.left, 267 + m_rcWindowSize.top, 92 + m_rcWindowSize.left, 284 + m_rcWindowSize.top);
|
||
g_ClientMain.m_lpCommonInterface->RenderNum(lpD3DDevice, g_ClientMain.m_csStatus.m_Info.WIS, &rcRect);
|
||
|
||
SetRect(&rcRect, 158 + m_rcWindowSize.left, 267 + m_rcWindowSize.top, 191 + m_rcWindowSize.left, 284 + m_rcWindowSize.top);
|
||
g_ClientMain.m_lpCommonInterface->RenderNum(lpD3DDevice, g_ClientMain.m_csStatus.m_Info.INT, &rcRect);
|
||
|
||
SetRect(&rcRect, 59 + m_rcWindowSize.left, 293 + m_rcWindowSize.top, 92 + m_rcWindowSize.left, 310 + m_rcWindowSize.top);
|
||
g_ClientMain.m_lpCommonInterface->RenderNum(lpD3DDevice, g_ClientMain.m_csStatus.m_Info.CON, &rcRect);
|
||
|
||
if(g_ClientMain.m_csStatus.m_Info.IP)
|
||
{
|
||
SetRect(&rcRect, 158 + m_rcWindowSize.left, 304 + m_rcWindowSize.top, 191 + m_rcWindowSize.left, 321 + m_rcWindowSize.top);
|
||
g_ClientMain.m_lpCommonInterface->RenderNum(lpD3DDevice, g_ClientMain.m_csStatus.m_Info.IP, &rcRect);
|
||
}
|
||
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
SetRect(&rcRect, 152 + m_rcWindowSize.left, 345 + m_rcWindowSize.top, 204 + m_rcWindowSize.left, 358 + m_rcWindowSize.top);
|
||
sprintf(strString, "%d ~ %d", g_ClientMain.m_csStatus.m_lMinDamage, g_ClientMain.m_csStatus.m_lMaxDamage);
|
||
long m_lDamage = g_ClientMain.m_csStatus.m_lMinDamage + (g_ClientMain.m_csStatus.m_lMaxDamage - g_ClientMain.m_csStatus.m_lMinDamage) / 2;
|
||
long m_lRealDamage = g_ClientMain.m_csStatus.m_lRealMinDamage + (g_ClientMain.m_csStatus.m_lRealMaxDamage - g_ClientMain.m_csStatus.m_lRealMinDamage) / 2;
|
||
if(m_lDamage < m_lRealDamage)
|
||
{
|
||
g_TextEdit.DrawText(strString, &rcRect, DT_CENTER | DT_VCENTER, D3DCOLOR_RGBA(255, 0, 0, m_cAlpha));
|
||
} else if(m_lDamage > m_lRealDamage)
|
||
{
|
||
g_TextEdit.DrawText(strString, &rcRect, DT_CENTER | DT_VCENTER, D3DCOLOR_RGBA(0, 255, 0, m_cAlpha));
|
||
} else
|
||
{
|
||
g_TextEdit.DrawText(strString, &rcRect, DT_CENTER | DT_VCENTER, D3DCOLOR_RGBA(255, 255, 255, m_cAlpha));
|
||
}
|
||
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
SetRect(&rcRect, 152 + m_rcWindowSize.left, 364 + m_rcWindowSize.top, 204 + m_rcWindowSize.left, 377 + m_rcWindowSize.top);
|
||
sprintf(strString, "%d", g_ClientMain.m_csStatus.m_lDefensePower);
|
||
if(g_ClientMain.m_csStatus.m_lDefensePower < g_ClientMain.m_csStatus.m_lRealDefensePower)
|
||
{
|
||
g_TextEdit.DrawText(strString, &rcRect, DT_CENTER | DT_VCENTER, D3DCOLOR_RGBA(255, 0, 0, m_cAlpha));
|
||
} else if(g_ClientMain.m_csStatus.m_lDefensePower > g_ClientMain.m_csStatus.m_lRealDefensePower)
|
||
{
|
||
g_TextEdit.DrawText(strString, &rcRect, DT_CENTER | DT_VCENTER, D3DCOLOR_RGBA(0, 255, 0, m_cAlpha));
|
||
} else
|
||
{
|
||
g_TextEdit.DrawText(strString, &rcRect, DT_CENTER | DT_VCENTER, D3DCOLOR_RGBA(255, 255, 255, m_cAlpha));
|
||
}
|
||
|
||
// <20><><EFBFBD>ݺ<EFBFBD><DDBA><EFBFBD>
|
||
SetRect(&rcRect, 152 + m_rcWindowSize.left, 383 + m_rcWindowSize.top, 204 + m_rcWindowSize.left, 395 + m_rcWindowSize.top);
|
||
sprintf(strString, "%d", g_ClientMain.m_csStatus.m_lAttackRevision);
|
||
g_TextEdit.DrawText(strString, &rcRect, DT_CENTER | DT_VCENTER, D3DCOLOR_RGBA(255, 255, 255, m_cAlpha));
|
||
|
||
// <20><><EFBFBD><EFBFBD><EEBAB8>
|
||
SetRect(&rcRect, 152 + m_rcWindowSize.left, 402 + m_rcWindowSize.top, 204 + m_rcWindowSize.left, 415 + m_rcWindowSize.top);
|
||
sprintf(strString, "%d", g_ClientMain.m_csStatus.m_lDefenseRevision);
|
||
g_TextEdit.DrawText(strString, &rcRect, DT_CENTER | DT_VCENTER, D3DCOLOR_RGBA(255, 255, 255, m_cAlpha));
|
||
|
||
// ũ<><C5A9>Ƽ<EFBFBD><C6BC> Ȯ<><C8AE>
|
||
SetRect(&rcRect, 152 + m_rcWindowSize.left, 421 + m_rcWindowSize.top, 204 + m_rcWindowSize.left, 434 + m_rcWindowSize.top);
|
||
sprintf(strString, "%d %%", g_ClientMain.m_csStatus.m_lCriticalPercent);
|
||
g_TextEdit.DrawText(strString, &rcRect, DT_CENTER | DT_VCENTER, D3DCOLOR_RGBA(255, 255, 255, m_cAlpha));
|
||
|
||
// <20><><EFBFBD><EFBFBD>Ȯ<EFBFBD><C8AE>
|
||
SetRect(&rcRect, 152 + m_rcWindowSize.left, 439 + m_rcWindowSize.top, 204 + m_rcWindowSize.left, 452 + m_rcWindowSize.top);
|
||
sprintf(strString, "%3.1f %%", g_ClientMain.m_csStatus.m_fBlockPercent);
|
||
if(g_ClientMain.m_csStatus.m_fBlockPercent < g_ClientMain.m_csStatus.m_fRealBlockPercent)
|
||
{
|
||
g_TextEdit.DrawText(strString, &rcRect, DT_CENTER | DT_VCENTER, D3DCOLOR_RGBA(255, 0, 0, m_cAlpha));
|
||
} else if(g_ClientMain.m_csStatus.m_fBlockPercent > g_ClientMain.m_csStatus.m_fRealBlockPercent)
|
||
{
|
||
g_TextEdit.DrawText(strString, &rcRect, DT_CENTER | DT_VCENTER, D3DCOLOR_RGBA(0, 255, 0, m_cAlpha));
|
||
} else
|
||
{
|
||
g_TextEdit.DrawText(strString, &rcRect, DT_CENTER | DT_VCENTER, D3DCOLOR_RGBA(255, 255, 255, m_cAlpha));
|
||
}
|
||
|
||
// <20>븶<EFBFBD><EBB8B6>
|
||
SetRect(&rcRect, 152 + m_rcWindowSize.left, 457 + m_rcWindowSize.top, 204 + m_rcWindowSize.left, 470 + m_rcWindowSize.top);
|
||
sprintf(strString, "%d %%", g_ClientMain.m_csStatus.m_lMagicResistance);
|
||
g_TextEdit.DrawText(strString, &rcRect, DT_CENTER | DT_VCENTER, D3DCOLOR_RGBA(255, 255, 255, m_cAlpha));
|
||
|
||
m_ButtonManager.Render(lpD3DDevice);
|
||
}
|