Code:
#include "StdAfx.h"
#include "./CharacterWindow.h"
#include "DxGlobalStage.h"
#include "./GLCharClient.h"
#include "./GLFactEffect.h"
#include "./GLGaeaClient.h"
#include "../EngineUILib/GUInterface/BasicTextBox.h"
#include "../EngineUILib/GUInterface/BasicProgressBar.h"
#include "../EngineUILib/GUInterface/BasicButton.h"
#include "../EngineLib/DxCommon/d3dfont.h"
#include "GLCharacter.h"
#include "DxGameStage.h"
#include "../RanClientUILib/Interface/InnerInterface.h"
#include "../Interface/BasicTextButton.h"
#include "../Interface/UITextControl.h"
#include "../Interface/GameTextControl.h"
#include "../RanClientLib/G-Logic/GLGaeaClient.h"
#include "BasicComboBox.h"
#include "BasicComboBoxRollOver.h"
#include "DxEffectMan.h"
#include "DxEnvironment.h"
#include "DxSurfaceTex.h"
#include "DxGlowMan.h"
#include "DxPostProcess.h"
#include "DxCubeMap.h"
#include "DxSkyMan.h"
#include "DxEffGroupPlayer.h"
#include "../EngineLib/DxCommon/DxViewPort.h"
#include "../EngineLib/DxCommon/DxFontMan.h"
#include "../EngineLib/DxCommon/DxInputDevice.h"
#include "../EngineLib/DxCommon/DxLightMan.h"
#include "DxSkinChar.h"
#include "BasicLineBox.h"
#include "BasicTextBoxEx.h"
#include "InventoryPageWear.h"
#include "InventoryPageWearEx.h"
#include "VehicleWindow.h"
#include "PetWindow.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
CCharacterWindow::CCharacterWindow () :
m_pNameText ( NULL ),
m_pLevelText ( NULL ),
m_pButtonOk ( NULL ),
m_pButtonCancel ( NULL ),
m_pPageWear( NULL ),
m_pPageWearEx( NULL ),
m_pPetWindow( NULL ),
m_pPointText ( NULL ),
//Left
m_pPowText ( NULL ),
m_pDexText ( NULL ),
m_pSpiText ( NULL ),
m_pIntText ( NULL ),
m_pStrText ( NULL ),
m_pStaText ( NULL ),
//Right
m_pPowTextUp ( NULL ),
m_pDexTextUp ( NULL ),
m_pSpiTextUp ( NULL ),
m_pIntTextUp ( NULL ),
m_pStrTextUp ( NULL ),
m_pStaTextUp ( NULL ),
m_pClubText ( NULL ),
m_pNewPow ( 0 ),
m_pNewDex ( 0 ),
m_pNewSpi ( 0 ),
m_pNewStr ( 0 ),
m_pNewSta ( 0 ),
m_pNewPoint ( 0 ),
nIndex ( 0 ),
//Left
m_pDamageHighText ( NULL ), //¤ÇÒÁáçÊÙ§ÊØ´
m_pDamageLowText ( NULL ), //¤ÇÒÁáçµèÓÊØ´
m_pDefenseText ( NULL ), //»éͧ¡Ñ¹
m_pReqPaText ( NULL ), //¶¹Ñ´
m_pReqSaText ( NULL ), //àÅç§
m_pReqMaText ( NULL ), //¾Åѧ§Ò¹
m_pHitRateText ( NULL ), //â¨ÁµÕ
m_pAvoidRateText ( NULL ), //ËźËÅÕ¡
m_pHPText ( NULL ), //HP
m_pMPText ( NULL ), //MP
m_pSPText ( NULL ), //SP
//Right
m_pDamageHighTextUp ( NULL ), //¤ÇÒÁáçÊÙ§ÊØ´
m_pDamageLowTextUp ( NULL ), //¤ÇÒÁáçµèÓÊØ´
m_pDefenseTextUp ( NULL ), //»éͧ¡Ñ¹
m_pReqPaTextUp ( NULL ), //¶¹Ñ´
m_pReqSaTextUp ( NULL ), //àÅç§
m_pReqMaTextUp ( NULL ), //¾Åѧ§Ò¹
m_pHitRateTextUp ( NULL ), //â¨ÁµÕ
m_pAvoidRateTextUp ( NULL ), //ËźËÅÕ¡
m_pHPTextUp ( NULL ), //HP
m_pMPTextUp ( NULL ), //MP
m_pSPTextUp ( NULL ), //SP
m_pFireText ( NULL ), //ä¿
m_pColdText ( NULL ), //¹éÓá¢ç§
m_pElectricText ( NULL ), //ä¿¿éÒ
m_pPoisonText ( NULL ), //¾ÔÉ
m_pSpiritText ( NULL ), //àÇ·Âì
m_pPKStateText ( NULL ),
m_pGradeText ( NULL ), //ª×èÍàÊÕ§
m_pGradeValue ( NULL ), //ª×èÍàÊÕ§
m_pBrightSlider ( NULL ), //¤ÇÒÁ´Õ
m_pActivityPointText ( NULL ), //¼Å§Ò¹
m_pActivityPointValue ( NULL ), //¼Å§Ò¹
m_pAcademy_Department ( NULL ), //ʶҺѹ //ÊÒÂÍÒªªÕ¾
m_pd3dDevice ( NULL ),
m_pMobileText( NULL ),
m_pSkinChar(NULL)
{
memset ( m_pPageButton, 0, sizeof ( m_pPageButton ) );
memset ( m_pPageButton, 0, sizeof ( CBasicTextButton* ) * nMAXPAGENEW );
memset ( m_pButtonPlus, 0, sizeof ( m_pButtonPlus ) );
memset ( m_pButtonMinus, 0, sizeof ( m_pButtonMinus ) );
D3DXMatrixIdentity( &m_matTrans );
}
CCharacterWindow::~CCharacterWindow ()
{
}
CBasicTextBox* CCharacterWindow::CreateStaticControl ( char* szControlKeyword, CD3DFontPar* pFont, int nAlign, const UIGUID& cID )
{
CBasicTextBox* pStaticText = new CBasicTextBox;
pStaticText->CreateSub ( this, szControlKeyword, UI_FLAG_DEFAULT, cID );
pStaticText->SetFont ( pFont );
pStaticText->SetTextAlign ( nAlign );
RegisterControl ( pStaticText );
return pStaticText;
}
CBasicTextButton* CCharacterWindow::CreateTextButton23 ( const char* szButton, UIGUID ControlID, const char* szText )
{
const int nBUTTONSIZE = CBasicTextButton::SIZE23;
CBasicTextButton* pTextButton = new CBasicTextButton;
pTextButton->CreateSub ( this, "BASIC_TEXT_BUTTON23", UI_FLAG_XSIZE, ControlID );
pTextButton->CreateBaseButton ( szButton, nBUTTONSIZE, CBasicButton::RADIO_FLIP, szText ,_DEFAULT_FONT_SHADOW_FLAG );
RegisterControl ( pTextButton );
return pTextButton;
}
CBasicTextButton* CCharacterWindow::CreateTextButton24 ( const char* szButton, UIGUID ControlID, const char* szText )
{
const int nBUTTONSIZE = CBasicTextButton::SIZE24;
CBasicTextButton* pTextButton = new CBasicTextButton;
pTextButton->CreateSub ( this, "BASIC_TEXT_BUTTON24", UI_FLAG_XSIZE, ControlID );
pTextButton->CreateBaseButton ( szButton, nBUTTONSIZE, CBasicButton::CLICK_FLIP, szText , _DEFAULT_FONT_SHADOW_FLAG );
RegisterControl ( pTextButton );
return pTextButton;
}
CBasicTextButton* CCharacterWindow::CreateTextButton25 ( const char* szButton, UIGUID ControlID, const char* szText )
{
const int nBUTTONSIZE = CBasicTextButton::SIZE25;
CBasicTextButton* pTextButton = new CBasicTextButton;
pTextButton->CreateSub ( this, "BASIC_TEXT_BUTTON25", UI_FLAG_XSIZE, ControlID );
pTextButton->CreateBaseButton ( szButton, nBUTTONSIZE, CBasicButton::CLICK_FLIP, szText , _DEFAULT_FONT_SHADOW_FLAG );
RegisterControl ( pTextButton );
return pTextButton;
}
void CCharacterWindow::CreateSubControl ()
{
CD3DFontPar* pFont6Shadow = DxFontMan::GetInstance().LoadDxFont ( _DEFAULT_FONT, 7, _DEFAULT_FONT_SHADOW_FLAG );
CD3DFontPar* pFont8Shadow = DxFontMan::GetInstance().LoadDxFont ( _DEFAULT_FONT, 8, _DEFAULT_FONT_SHADOW_FLAG );
CD3DFontPar* pFont = DxFontMan::GetInstance().LoadDxFont ( _DEFAULT_FONT, 9, _DEFAULT_FONT_SHADOW_FLAG );
CD3DFontPar* pFont10 = DxFontMan::GetInstance().LoadDxFont ( _DEFAULT_FONT, 10, _DEFAULT_FONT_SHADOW_FLAG );
const EMCHARCLASS emCharClass = DxGlobalStage::GetInstance().GetGameStage()->GetCharJoinData().m_CharData2.m_emClass;
const int nClassType = CharClassToIndex ( emCharClass );
const int nAlignLeft = TEXT_ALIGN_LEFT;
const int nAlignCenter = TEXT_ALIGN_CENTER_X;
const DWORD& dwSilver = NS_UITEXTCOLOR::SILVER;
const DWORD& dwWhite = NS_UITEXTCOLOR::WHITE;
const DWORD& dwSubTitle = NS_UITEXTCOLOR::PALEGOLDENROD;
//¾×é¹ËÅѧÊÕ¢ÒÇ
{
m_bg_white = new CUIControl;
m_bg_white->CreateSub ( this, "RNCHARACTER_WINDOW_REGION", UI_FLAG_DEFAULT);
m_bg_white->SetVisibleSingle ( TRUE );
RegisterControl ( m_bg_white );
}
CString strPageKeyword[nMAXPAGENEW] =
{
"RNCHARACTER_WINDOW_CHAR_TAP",
"RNCHARACTER_WINDOW_VEHICLE_TAP",
"RNCHARACTER_WINDOW_PET_TAP",
};
for ( int i = 0; i < nMAXPAGENEW; i++ )
{
m_pPageButton[i] = CreateTextButton23 ( strPageKeyword[i].GetString (), RNCHARACTER_WINDOW_CHAR_TAP + i, (char*)ID2GAMEWORD ( "RNCHARACTER_WINDOW_CHAR_TAP", i ) );
}
{
// ¾×é¹ËÅѧ µÑÇÅФÃ
m_pBackLine1 = new CBasicLineBox;
m_pBackLine1->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
m_pBackLine1->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_EQUIP_REGION" );
RegisterControl ( m_pBackLine1 );
//¾×é¹ËÅѧ ¢éÍÁÙÅÊèǹÅèÒ§
m_pBackLine2 = new CBasicLineBox;
m_pBackLine2->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
m_pBackLine2->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_SCHOOL_REGION" );
RegisterControl ( m_pBackLine2 );
}
{
m_pStatusLine1 = new CBasicLineBox;
m_pStatusLine1->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
m_pStatusLine1->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_STAT_POINT1_REGION" );
RegisterControl ( m_pStatusLine1 );
m_pStatusLine2 = new CBasicLineBox;
m_pStatusLine2->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
m_pStatusLine2->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_STAT_POINT2_REGION" );
RegisterControl ( m_pStatusLine2 );
m_pStatusLine3 = new CBasicLineBox;
m_pStatusLine3->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
m_pStatusLine3->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_STAT_POINT3_REGION" );
RegisterControl ( m_pStatusLine3 );
}
{
m_pStatusLine4 = new CBasicLineBox;
m_pStatusLine4->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
m_pStatusLine4->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_STAT_POINT4_REGION" );
RegisterControl ( m_pStatusLine4 );
m_pStatusLine5 = new CBasicLineBox;
m_pStatusLine5->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
m_pStatusLine5->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_STAT_POINT5_REGION" );
RegisterControl ( m_pStatusLine5 );
m_pStatusLine6 = new CBasicLineBox;
m_pStatusLine6->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
m_pStatusLine6->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_STAT_POINT6_REGION" );
RegisterControl ( m_pStatusLine6 );
}
{
m_pStatusLine7 = new CBasicLineBox;
m_pStatusLine7->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
m_pStatusLine7->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_STAT_POINT7_REGION" );
RegisterControl ( m_pStatusLine7 );
m_pStatusLine8 = new CBasicLineBox;
m_pStatusLine8->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
m_pStatusLine8->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_STAT_POINT8_REGION" );
RegisterControl ( m_pStatusLine8 );
m_pStatusLine9 = new CBasicLineBox;
m_pStatusLine9->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
m_pStatusLine9->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_STAT_POINT9_REGION" );
RegisterControl ( m_pStatusLine9 );
}
m_pVehicleWindow = new CVehicleWindow;
m_pVehicleWindow->CreateSub ( this, "CHARACTER_PAGE_VEHICLE", UI_FLAG_DEFAULT, CHARACTER_VEHICLEWINDOW );
m_pVehicleWindow->CreateSubControl ();
RegisterControl ( m_pVehicleWindow );
m_pPetWindow = new CPetWindow;
m_pPetWindow->CreateSub ( this, "CHARACTER_PAGE_PET", UI_FLAG_DEFAULT, CHARACTER_PETWINDOW );
m_pPetWindow->CreateSubControl ();
RegisterControl ( m_pPetWindow );
{
{
m_pPageWear = new CInventoryPageWear;
m_pPageWear->CreateSub ( this, "RNCHARACTER_WINDOW_WEAR_WINDOW", UI_FLAG_DEFAULT, CHARACTER_WINDOW_INVENTORY_PAGEWEAR );
m_pPageWear->CreateSubControl ( nClassType );
RegisterControl ( m_pPageWear );
}
{
m_pPageWearEx = new CInventoryPageWearEx;
m_pPageWearEx->CreateSub ( this, "RNCHARACTER_WINDOW_WEAR_WINDOW", UI_FLAG_DEFAULT, CHARACTER_WINDOW_INVENTORY_PAGEWEAR_EX );
m_pPageWearEx->CreateSubControl ( nClassType );
RegisterControl ( m_pPageWearEx );
SetVisiblePage ( 0 );
}
}
m_pAcademy_Department = CreateStaticControl ( "RNCHARACTER_WINDOW_ACADEMY_DEPARTMENT_TEXT", pFont, nAlignLeft );
CBasicTextBox* pTextBox = CreateStaticControl ( "RNCHARACTER_WINDOW_BRIGHT_TEXT", pFont8Shadow, nAlignLeft );
pTextBox->AddText ( ID2GAMEWORD("CHARACTER_SOCIAL_STATIC", 5), dwWhite );
m_pGradeText = CreateStaticControl ( "RNCHARACTER_WINDOW_CONTRIBUTION_POINT_TEXT", pFont8Shadow, nAlignLeft );
m_pGradeValue = CreateStaticControl ( "RNCHARACTER_WINDOW_CONTRIBUTION_POINT_VALUE", pFont8Shadow, nAlignLeft );
m_pActivityPointText = CreateStaticControl ( "RNCHARACTER_WINDOW_ACTIVITY_POINT_TEXT", pFont8Shadow, nAlignLeft );
m_pActivityPointValue = CreateStaticControl ( "RNCHARACTER_WINDOW_ACTIVITY_POINT_VALUE", pFont8Shadow, nAlignLeft );
m_pBrightFrame = CreateControl ( "RNCHARACTER_WINDOW_BRIGHTBAR",CHARACTER_BIRGHTER );
m_pBrightSlider = CreateControl ( "RNCHARACTER_WINDOW_BRIGHTBAR_THUMB" );
m_pPointTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_POINT_TEXT", pFont, nAlignLeft );
m_pPointText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_POINT_VALUE", pFont, nAlignLeft );
m_pPointTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STAT_POINT"), dwWhite );
m_pPowTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_POW_TEXT", pFont6Shadow, nAlignLeft );
m_pDexTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_DEX_TEXT", pFont6Shadow, nAlignLeft );
m_pSpiTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_SPI_TEXT", pFont6Shadow, nAlignLeft );
m_pStrTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_STR_TEXT", pFont6Shadow, nAlignLeft );
m_pStaTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_STA_TEXT", pFont6Shadow, nAlignLeft );
m_pPowTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STAT_STATIC", 0), dwWhite );
m_pDexTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STAT_STATIC", 1), dwWhite );
m_pSpiTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STAT_STATIC", 2), dwWhite );
m_pStrTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STAT_STATIC", 4), dwWhite );
m_pStaTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STAT_STATIC", 5), dwWhite );
m_pPowText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_POW_VALUE", pFont6Shadow, nAlignCenter );
m_pDexText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_DEX_VALUE", pFont6Shadow, nAlignCenter );
m_pSpiText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_SPI_VALUE", pFont6Shadow, nAlignCenter );
m_pStrText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_STR_VALUE", pFont6Shadow, nAlignCenter );
m_pStaText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_STA_VALUE", pFont6Shadow, nAlignCenter );
m_pPowTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_POW_UP_VALUE", pFont6Shadow, nAlignCenter );
m_pDexTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_DEX_UP_VALUE", pFont6Shadow, nAlignCenter );
m_pSpiTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_SPI_UP_VALUE", pFont6Shadow, nAlignCenter );
m_pStrTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_STR_UP_VALUE", pFont6Shadow, nAlignCenter );
m_pStaTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_STA_UP_VALUE", pFont6Shadow, nAlignCenter );
CString strButtonPlus[5] =
{
"RNCHARACTER_WINDOW_STAT_POW_PLUS_BUTTON",
"RNCHARACTER_WINDOW_STAT_DEX_PLUS_BUTTON",
"RNCHARACTER_WINDOW_STAT_SPI_PLUS_BUTTON",
"RNCHARACTER_WINDOW_STAT_STR_PLUS_BUTTON",
"RNCHARACTER_WINDOW_STAT_STA_PLUS_BUTTON"
};
CString strButtonMinus[5] =
{
"RNCHARACTER_WINDOW_STAT_POW_MINUS_BUTTON",
"RNCHARACTER_WINDOW_STAT_DEX_MINUS_BUTTON",
"RNCHARACTER_WINDOW_STAT_SPI_MINUS_BUTTON",
"RNCHARACTER_WINDOW_STAT_STR_MINUS_BUTTON",
"RNCHARACTER_WINDOW_STAT_STA_MINUS_BUTTON"
};
for ( int i = 0; i < 5; i++ )
{
m_pButtonPlus[i] = CreateTextButton24 ( strButtonPlus[i].GetString (), CHARACTER_WINDOW_STAT_POW_PLUS_BUTTON + i, "+" );
m_pButtonMinus[i] = CreateTextButton24 ( strButtonMinus[i].GetString (), CHARACTER_WINDOW_STAT_POW_MINUS_BUTTON + i, "-" );
}
m_pButtonOk = CreateTextButton25 ( "RNCHARACTER_WINDOW_STAT_APPLY_BUTTON", CHARACTER_WINDOW_STAT_OK , ID2GAMEWORD("CHARACTER_STAT_APPLY") );
m_pButtonCancel = CreateTextButton25 ( "RNCHARACTER_WINDOW_STAT_INIT_BUTTON", CHARACTER_WINDOW_STAT_CANCEL , ID2GAMEWORD("CHARACTER_STAT_INIT") );
m_pDamageHighTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_ATTACK_MAX_TEXT", pFont6Shadow, nAlignLeft );
m_pDamageLowTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_ATTACK_MIN_TEXT", pFont6Shadow, nAlignLeft );
m_pDefenseTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_DEFENSE_TEXT", pFont6Shadow, nAlignLeft );
m_pReqPaTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_FIGHT_TEXT", pFont6Shadow, nAlignLeft );
m_pReqSaTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_SHOOT_TEXT", pFont6Shadow, nAlignLeft );
m_pReqMaTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_STAMINA_TEXT", pFont6Shadow, nAlignLeft );
m_pHitRateTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_HIT_TEXT", pFont6Shadow, nAlignLeft );
m_pAvoidRateTextv = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_AVOID_TEXT", pFont6Shadow, nAlignLeft );
m_pHPTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_HP_TEXT", pFont6Shadow, nAlignLeft );
m_pMPTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_MP_TEXT", pFont6Shadow, nAlignLeft );
m_pSPTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_SP_TEXT", pFont6Shadow, nAlignLeft );
m_pDamageHighTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 14), dwWhite );
m_pDamageLowTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 15), dwWhite );
m_pDefenseTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 3), dwWhite );
m_pReqPaTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 4), dwWhite );
m_pReqSaTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 5), dwWhite );
m_pReqMaTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 11), dwWhite );
m_pHitRateTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 9), dwWhite );
m_pAvoidRateTextv->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 10), dwWhite );
m_pHPTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 16), dwWhite );
m_pMPTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 17), dwWhite );
m_pSPTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 18), dwWhite );
m_pDamageHighText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_ATTACK_MAX_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
m_pDamageLowText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_ATTACK_MIN_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
m_pDefenseText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_DEFENSE_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
m_pReqPaText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_FIGHT_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
m_pReqSaText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_SHOOT_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
m_pReqMaText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_STAMINA_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
m_pHitRateText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_HIT_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
m_pAvoidRateText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_AVOID_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
m_pHPText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_HP_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
m_pMPText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_MP_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
m_pSPText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_SP_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
/*m_pDamageHighTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_ATTACK_MAX_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
m_pDamageLowTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_ATTACK_MIN_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
m_pDefenseTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_DEFENSE_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
m_pReqPaTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_FIGHT_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
m_pReqSaTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_SHOOT_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
m_pReqMaTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_STAMINA_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
m_pHitRateTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_HIT_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
m_pAvoidRateTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_AVOID_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
m_pHPTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_HP_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
m_pMPTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_MP_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
m_pSPTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_SP_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );*/
m_pFireTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_FIRE_RESIST_TEXT", pFont6Shadow, nAlignLeft );
m_pColdTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_COLD_RESIST_TEXT", pFont6Shadow, nAlignLeft );
m_pElectricTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_ELECTRIC_RESIST_TEXT", pFont6Shadow, nAlignLeft );
m_pPoisonTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_POISON_RESIST_TEXT", pFont6Shadow, nAlignLeft );
m_pSpiritTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_SPIRIT_RESIST_TEXT", pFont6Shadow, nAlignLeft );
m_pFireTextStatic->AddText ( ID2GAMEWORD("CHARACTER_RESI_STATIC", 1), dwWhite );
m_pColdTextStatic->AddText ( ID2GAMEWORD("CHARACTER_RESI_STATIC", 2), dwWhite );
m_pElectricTextStatic->AddText ( ID2GAMEWORD("CHARACTER_RESI_STATIC", 3), dwWhite );
m_pPoisonTextStatic->AddText ( ID2GAMEWORD("CHARACTER_RESI_STATIC", 4), dwWhite );
m_pSpiritTextStatic->AddText ( ID2GAMEWORD("CHARACTER_RESI_STATIC", 5), dwWhite );
m_pFireText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_FIRE_RESIST_VALUE", pFont6Shadow, nAlignLeft );
m_pColdText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_COLD_RESIST_VALUE", pFont6Shadow, nAlignLeft );
m_pElectricText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_ELECTRIC_RESIST_VALUE", pFont6Shadow, nAlignLeft );
m_pPoisonText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_POISON_RESIST_VALUE", pFont6Shadow, nAlignLeft );
m_pSpiritText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_SPIRIT_RESIST_VALUE", pFont6Shadow, nAlignLeft );
m_pLevelText = CreateStaticControl ( "CHARACTER_LEVEL_AND_NAME_TEXT", pFont8Shadow, TEXT_ALIGN_CENTER_X );
m_pClubText = CreateStaticControl ( "CHARACTER_CLUB_TEXT", pFont8Shadow, TEXT_ALIGN_CENTER_X );
}
CBasicTextButton* CCharacterWindow::CreateTextButton ( const char* szButton, UIGUID ControlID, const char* szText )
{
const int nBUTTONSIZE = CBasicTextButton::SIZE23;
CBasicTextButton* pTextButton = new CBasicTextButton;
pTextButton->CreateSub ( this, "BASIC_TEXT_BUTTON23", UI_FLAG_XSIZE, ControlID );
pTextButton->CreateBaseButton ( szButton, nBUTTONSIZE, CBasicButton::RADIO_FLIP, szText );
RegisterControl ( pTextButton );
return pTextButton;
}
void CCharacterWindow::SetGlobalPos(const D3DXVECTOR2& vPos)
{
CUIGroup::SetGlobalPos( vPos );
const GLCHARLOGIC& sCharData = GLGaeaClient::GetInstance().GetCharacterLogic ();
SetBright( sCharData );
}
HRESULT CCharacterWindow::InitDeviceObjects ( LPDIRECT3DDEVICEQ pd3dDevice )
{
GASSERT( pd3dDevice );
m_pd3dDevice = pd3dDevice;
HRESULT hr = S_OK;
{
hr = CUIWindowEx::InitDeviceObjects( pd3dDevice );
//hr = m_pd3dDevice->GetDeviceCaps ( &m_d3dCaps );
if ( FAILED ( hr ) ) return hr;
}
m_CharacterNew = GLGaeaClient::GetInstance().GetCharacter();
D3DXVECTOR3 m_vPos = D3DXVECTOR3(12.0f,-135.0f,400.0f);
D3DXVECTOR3 m_vDir = m_CharacterNew->GetDirectionVector();
D3DXVECTOR3 m_vDirOrig = m_CharacterNew->GetOrig();
//D3DXMATRIX matTrans, matYRot;
//D3DXMatrixTranslation ( &matTrans, m_vPos.x, m_vPos.y, m_vPos.z );
//float fThetaY = DXGetThetaYFromDirection ( m_vDir, m_vDirOrig );
//D3DXMatrixRotationY ( &matYRot, fThetaY );
EMCHARINDEX emIndex = CharClassToIndex( m_CharacterNew->m_emClass );
DxSkinCharData* pSkinChar = DxSkinCharDataContainer::GetInstance().LoadData( GLCONST_CHAR::szCharSkin[emIndex], m_pd3dDevice, TRUE );
if ( !pSkinChar ) return E_FAIL;
SAFE_DELETE( m_pSkinChar );
m_pSkinChar = new DxSkinChar;
m_pSkinChar->SetCharData ( pSkinChar, m_pd3dDevice, TRUE );
UpdateSuit ();
return S_OK;
}
BOOL CCharacterWindow::IsCurUseArm( EMSLOT emSlot )
{
if( IsUseArmSub() )
{
if( emSlot == SLOT_RHAND || emSlot == SLOT_LHAND ) return FALSE;
}
else
{
if( emSlot == SLOT_RHAND_S || emSlot == SLOT_LHAND_S ) return FALSE;
}
return TRUE;
}
HRESULT CCharacterWindow::UpdateSuit ()
{
GASSERT( m_pd3dDevice );
EMCHARINDEX emIndex = CharClassToIndex( m_CharacterNew->m_emClass );
DxSkinCharData* pSkinChar = DxSkinCharDataContainer::GetInstance().FindData ( GLCONST_CHAR::szCharSkin[emIndex] );
if ( !pSkinChar ) return E_FAIL;
const GLCONST_CHARCLASS &sCONST = GLCONST_CHAR::cCONSTCLASS[emIndex];
if ( sCONST.dwHEADNUM > m_CharacterNew->m_wFace )
{
std::string strHEAD_CPS = sCONST.strHEAD_CPS[m_CharacterNew->m_wFace];
PDXCHARPART pCharPart = NULL;
pCharPart = m_pSkinChar->GetPiece(PIECE_HEAD); // ÇöÁ¦ ÀåÂø ½ºÅ².
if ( pCharPart && strcmp(strHEAD_CPS.c_str(),pCharPart->GetFileName()) )
{
m_pSkinChar->SetPiece ( strHEAD_CPS.c_str(), m_pd3dDevice, 0x0, 0, TRUE );
}
}
if ( sCONST.dwHAIRNUM > m_CharacterNew->m_wHair )
{
std::string strHAIR_CPS = sCONST.strHAIR_CPS[m_CharacterNew->m_wHair];
PDXCHARPART pCharPart = NULL;
pCharPart = m_pSkinChar->GetPiece(PIECE_HAIR); // ÇöÁ¦ ÀåÂø ½ºÅ².
if ( pCharPart && strcmp(strHAIR_CPS.c_str(),pCharPart->GetFileName()) )
{
m_pSkinChar->SetPiece ( strHAIR_CPS.c_str(), m_pd3dDevice, 0x0, 0, TRUE );
}
}
m_pSkinChar->SetHairColor( m_CharacterNew->m_wHairColor );
for ( int i=0; i<SLOT_NSIZE_S_2; i++ )
{
// ÇöÀç ÀåÂøÁßÀÎ ¹«±â°¡ ¾Æ´Ï¸é ³Ñ¾î°£´Ù.
if( !IsCurUseArm( EMSLOT(i) ) ) continue;
SITEMCUSTOM &ItemClient = m_CharacterNew->m_PutOnItems[i];
SNATIVEID nidITEM = ItemClient.nidDISGUISE;
if ( nidITEM==SNATIVEID(false) ) nidITEM = ItemClient.sNativeID;
/*if ( !m_bVehicle && i == SLOT_VEHICLE ) nidITEM = SNATIVEID(false);
else if ( i == SLOT_VEHICLE )
{
nidITEM = m_sVehicle.GetSkinID();
if ( nidITEM == SNATIVEID(false) )
{
m_sVehicle.m_sVehicleID = ItemClient.sNativeID;
nidITEM = ItemClient.sNativeID;
}
}*/
if ( nidITEM == SNATIVEID(false) )
{
// Note : ±âº» ½ºÅ²°ú Áö±Ý ÀåÂøµÈ ½ºÅ²ÀÌ Æ²¸± °æ¿ì.
// SLOT->PIECE.
PDXSKINPIECE pSkinPiece = NULL; // ±âº» ½ºÅ².
PDXCHARPART pCharPart = NULL; // ÇöÁ¦ ÀåÂø ½ºÅ².
EMPIECECHAR emPiece = SLOT_2_PIECE(EMSLOT(i));
if ( emPiece!=PIECE_SIZE )
{
pSkinPiece = pSkinChar->GetPiece(emPiece); // ±âº» ½ºÅ².
pCharPart = m_pSkinChar->GetPiece(emPiece); // ÇöÁ¦ ÀåÂø ½ºÅ².
}
if ( pSkinPiece )
{
if ( pCharPart && strcmp(pSkinPiece->m_szFileName,pCharPart->GetFileName()) )
m_pSkinChar->SetPiece ( pSkinPiece->m_szFileName, m_pd3dDevice, 0x0, 0, TRUE );
}
else
{
if ( pCharPart ) m_pSkinChar->ResetPiece(emPiece);
}
}
else
{
SITEM* pItem = GLItemMan::GetInstance().GetItem ( nidITEM );
if ( pItem )
{
m_pSkinChar->SetPiece ( pItem->GetWearingFile(emIndex), m_pd3dDevice, NULL, ItemClient.GETGRADE_EFFECT(), TRUE );
}
}
}
/*if( m_dwTransfromSkill != SNATIVEID::ID_NULL )
{
PGLSKILL pSkill = GLSkillMan::GetInstance().GetData ( m_sSKILLFACT[m_dwTransfromSkill].sNATIVEID.wMainID, m_sSKILLFACT[m_dwTransfromSkill].sNATIVEID.wSubID );
if( pSkill )
{
for( BYTE i = 0; i < SKILL::EMTRANSFORM_NSIZE; i++ )
{
if( m_CharData.wSex == 1 )
{
m_pSkinChar->SetPiece ( pSkill->m_sSPECIAL_SKILL.strTransform_Man[i].c_str(), m_pd3dDevice, 0X0, 0, TRUE );
}else{
m_pSkinChar->SetPiece ( pSkill->m_sSPECIAL_SKILL.strTransform_Woman[i].c_str(), m_pd3dDevice, 0X0, 0, TRUE );
}
}
}
}
// Note : ½ºÅ³ ¹öÇÁ, »óÅÂÀÌ»ó È¿°ú »ý¼º.
FACTEFF::ReNewEffect ( STARGETID(CROW_PC,m_dwGaeaID,m_vPos), m_pSkinChar, m_sSKILLFACT, m_sSTATEBLOWS, m_matTrans, m_vDir );
if( GLCONST_CHAR::cCONSTCLASS[emIndex].strCLASS_EFFECT.size() != 0 )
{
DxEffcharDataMan::GetInstance().PutPassiveEffect ( m_pSkinChar, GLCONST_CHAR::cCONSTCLASS[emIndex].strCLASS_EFFECT.c_str(), &m_vDir );
}*/
return S_OK;
}
HRESULT CCharacterWindow::FrameMove ( float fTime, float fElapsedTime )
{
GASSERT( m_pd3dDevice );
D3DXVECTOR3 vFromPt = DxViewPort::GetInstance().GetFromPt();
D3DXVECTOR3 vLookatPt = DxViewPort::GetInstance().GetLookatPt();
D3DXVECTOR3 vUpVec = D3DXVECTOR3( 0.0f, 1.0f, 0.0f );
m_pSkinChar->FrameMove( fTime,fElapsedTime );
D3DXMATRIX matTrans , matYRot;
D3DXMatrixTranslation ( &matTrans, vLookatPt.x, vLookatPt.y, vLookatPt.z );
float fThetaY = DXGetThetaYFromDirection ( vUpVec, vFromPt );
D3DXMatrixRotationY ( &matYRot, fThetaY );
// Get D3DX to fill in the matrix values
D3DXMATRIX matView;
D3DXMatrixLookAtLH( &matView, &vFromPt, &vLookatPt, &vUpVec );
// Set our view matrix
//m_pd3dDevice->SetTransform( D3DTS_VIEW, &matView );
m_matTrans = matTrans ;
return S_OK;
}
HRESULT CCharacterWindow::Render ( LPDIRECT3DDEVICEQ pd3dDevice, CLIPVOLUME &cv, BOOL bRendAABB )
{
GASSERT( pd3dDevice );
CLIPVOLUME &CV = DxViewPort::GetInstance().GetClipVolume ();
// if ( m_bNeedData && !(m_dwRevData&RECEIVE_CHARDATA) ) return S_FALSE;
if ( !m_pSkinChar ) return S_FALSE;
if ( bRendAABB ) EDITMESHS::RENDERAABB ( pd3dDevice, m_vMax, m_vMin ); // Å×½ºÆ®¿ë.
if( !IsVisible() ) return S_OK;
HRESULT hr = S_OK;
hr = CUIWindowEx::Render ( pd3dDevice );
if ( FAILED ( hr ) ) return hr;
return S_OK;
}
void CCharacterWindow::SetArmSwapTabButton( BOOL bArmSub )
{
if( m_pPageWearEx )
{
m_pPageWearEx->SetTabButton( bArmSub );
}
}
void CCharacterWindow::SetVisiblePage ( int nPage )
{
const EMCHARCLASS emCharClass = DxGlobalStage::GetInstance().GetGameStage()->GetCharJoinData().m_CharData2.m_emClass;
const int nClassType = CharClassToIndex ( emCharClass );
for ( int i = 0; i < nMAXPAGENEW; i++ )
{
m_pPageButton[i]->SetFlip ( FALSE );
}
m_pPageWear->SetVisibleSingle ( FALSE );
m_pPageWearEx->SetVisibleSingle ( FALSE );
m_pVehicleWindow->SetVisibleSingle ( FALSE );
m_pPetWindow->SetVisibleSingle ( FALSE );
if ( nPage == 2 )
{
m_pPageButton[2]->SetFlip ( TRUE );
m_pPetWindow->SetVisibleSingle ( TRUE );
}
else if ( nPage == 1 )
{
m_pPageButton[1]->SetFlip ( TRUE );
m_pVehicleWindow->SetVisibleSingle ( TRUE );
}
else if ( nPage == 0 )
{
m_pPageButton[0]->SetFlip ( TRUE );
m_pPageWear->SetVisibleSingle ( TRUE );
m_pPageWearEx->SetVisibleSingle ( TRUE );
}
}
Code:
#include "StdAfx.h"
#include "CharacterWindow.h"
#include "../EngineUILib/GUInterface/BasicTextBox.h"
#include "../EngineUILib/GUInterface/BasicProgressBar.h"
#include "../EngineUILib/GUInterface/BasicButton.h"
#include "GLGaeaClient.h"
#include "UITextControl.h"
#include "GameTextControl.h"
#include "GLogicData.h"
#include "ItemSlot.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
void CCharacterWindow::SetLevel ( const GLCHARLOGIC& sCharData )
{
const WORD& wLevel = sCharData.m_wLevel;
const DWORD& wClub = sCharData.m_dwGuild;
CString strCombine;
strCombine.Format ( "Lv.%d ", wLevel );
if ( m_pLevelText )
{
m_pLevelText->SetOneLineText ( strCombine + sCharData.m_szName, NS_UITEXTCOLOR::WHITE );
}
strCombine.Format ( "[%s]",wClub );
if ( m_pClubText )
{
if(wClub == 0)
{
strCombine.Format ( "[%s]",ID2GAMEWORD("CLUB_TEXT_STATIC", 14) );
}
m_pClubText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::YELLOW );
}
}
void CCharacterWindow::SetName ( const GLCHARLOGIC& sCharData )
{
if ( m_pNameText )
{
m_pNameText->SetOneLineText ( sCharData.m_szName, NS_UITEXTCOLOR::ORANGE );
}
}
void CCharacterWindow::SetBright ( const GLCHARLOGIC& sCharData )
{
const int nMIN = -100;
const int nMAX = 100;
const int nRANGE = nMAX - nMIN;
int nPercent = sCharData.GETBRIGHTPER ();
nPercent = -(nPercent); // À̹ÌÁö°¡ ¹Ý´ë·Î µÚÁýÇôÀÖ¾î¼.
if ( nPercent < nMIN ) nPercent = nMIN;
if ( nPercent > nMAX ) nPercent = nMAX;
nPercent += nMAX;
float fPercent = static_cast<float>(nPercent) / static_cast<float>(nRANGE);
const UIRECT& rcFramePos = m_pBrightFrame->GetGlobalPos ();
const UIRECT& rcThumbPos = m_pBrightSlider->GetGlobalPos ();
float fMOVE = (rcFramePos.sizeX - rcThumbPos.sizeX) * fPercent;
float fLeft = rcFramePos.left + fMOVE;
m_pBrightSlider->SetGlobalPos ( D3DXVECTOR2 ( fLeft, rcThumbPos.top ) );
}
void CCharacterWindow::SetGrade ( const GLCHARLOGIC& sCharData )
{
if ( m_pGradeText && m_pGradeValue )
{
CString strCombine;
strCombine.Format ( "%d", sCharData.m_nLiving );
m_pGradeText->SetOneLineText ( ID2GAMEWORD("CHARACTER_SOCIAL_STATIC",7), NS_UITEXTCOLOR::SILVER );
m_pGradeValue->SetOneLineText ( strCombine , NS_UITEXTCOLOR::SILVER);
}
}
void CCharacterWindow::SetActivityPoint ( const GLCHARLOGIC& sCharData )
{
if ( m_pActivityPointText && m_pActivityPointValue)
{
CString strCombine;
strCombine.Format ( "%d", sCharData.m_nLiving );
m_pActivityPointText->SetOneLineText ( ID2GAMEWORD("CHARACTER_SOCIAL_STATIC",2), NS_UITEXTCOLOR::SILVER );
m_pActivityPointValue->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
}
}
void CCharacterWindow::SetAcademy_Department ( const GLCHARLOGIC& sCharData )
{
if ( m_pAcademy_Department )
{
CString strCombine;
strCombine.Format ( "%s,%s", ID2GAMEWORD("ACADEMY_NAME",sCharData.m_wSchool), COMMENT::CHARCLASS[CharClassToIndex(sCharData.m_emClass)].c_str() );
m_pAcademy_Department->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
}
}
void CCharacterWindow::SetPoint ( const GLCHARLOGIC& sCharData )
{
if ( sCharData.m_wStatsPoint < 0) return;
CString strCombine;
strCombine.Format ( "%d", sCharData.m_wStatsPoint );
if ( m_pPointText ) m_pPointText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::GOLD );
}
// Stat
void CCharacterWindow::SetPow ( const GLCHARLOGIC& sCharData )
{
m_pPowText->ClearText ();
CString strCombine;
strCombine.Format ( "%d", sCharData.m_sSUMSTATS.wPow );
m_pPowText->AddText ( strCombine, NS_UITEXTCOLOR::SILVER );
}
void CCharacterWindow::SetDex ( const GLCHARLOGIC& sCharData )
{
m_pDexText->ClearText ();
CString strCombine;
strCombine.Format ( "%d", sCharData.m_sSUMSTATS.wDex );
m_pDexText->AddText ( strCombine, NS_UITEXTCOLOR::SILVER );
}
void CCharacterWindow::SetSpi ( const GLCHARLOGIC& sCharData )
{
m_pSpiText->ClearText ();
CString strCombine;
strCombine.Format ( "%d", sCharData.m_sSUMSTATS.wSpi );
m_pSpiText->AddText ( strCombine, NS_UITEXTCOLOR::SILVER );
}
void CCharacterWindow::SetStr ( const GLCHARLOGIC& sCharData )
{
m_pStrText->ClearText ();
CString strCombine;
strCombine.Format ( "%d", sCharData.m_sSUMSTATS.wStr );
m_pStrText->AddText ( strCombine, NS_UITEXTCOLOR::SILVER );
}
void CCharacterWindow::SetSta ( const GLCHARLOGIC& sCharData )
{
m_pStaText->ClearText ();
CString strCombine;
strCombine.Format ( "%d", sCharData.m_sSUMSTATS.wSta );
m_pStaText->AddText ( strCombine, NS_UITEXTCOLOR::SILVER );
}
void CCharacterWindow::SetPowUp ( int num,const GLCHARLOGIC& sCharData )
{
m_pPowTextUp->ClearText ();
CString strCombine;
strCombine.Format ( "(%d)", sCharData.m_sSUMSTATS.wPow + num );
m_pPowTextUp->AddText ( strCombine, NS_UITEXTCOLOR::SILVER );
}
void CCharacterWindow::SetDexUp ( int num,const GLCHARLOGIC& sCharData )
{
m_pDexTextUp->ClearText ();
CString strCombine;
strCombine.Format ( "(%d)", sCharData.m_sSUMSTATS.wDex + num );
m_pDexTextUp->AddText ( strCombine, NS_UITEXTCOLOR::SILVER );
}
void CCharacterWindow::SetSpiUp ( int num,const GLCHARLOGIC& sCharData )
{
m_pSpiTextUp->ClearText ();
CString strCombine;
strCombine.Format ( "(%d)", sCharData.m_sSUMSTATS.wSpi + num );
m_pSpiTextUp->AddText ( strCombine, NS_UITEXTCOLOR::SILVER );
}
void CCharacterWindow::SetStrUp ( int num,const GLCHARLOGIC& sCharData )
{
m_pStrTextUp->ClearText ();
CString strCombine;
strCombine.Format ( "(%d)", sCharData.m_sSUMSTATS.wStr + num );
m_pStrTextUp->AddText ( strCombine, NS_UITEXTCOLOR::SILVER );
}
void CCharacterWindow::SetStaUp ( int num,const GLCHARLOGIC& sCharData )
{
m_pStaTextUp->ClearText ();
CString strCombine;
strCombine.Format ( "(%d)", sCharData.m_sSUMSTATS.wSta + num );
m_pStaTextUp->AddText ( strCombine, NS_UITEXTCOLOR::SILVER );
}
// Status
void CCharacterWindow::SetDamage ( const GLCHARLOGIC& sCharData )
{
const int& nLow = sCharData.GETFORCE_LOW ();
const int& nHigh = sCharData.GETFORCE_HIGH ();
CString strCombine;
strCombine.Format ( "%d", nLow );
if ( m_pDamageLowText ) m_pDamageLowText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
strCombine.Format ( "%d", nHigh );
if ( m_pDamageHighText ) m_pDamageHighText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
}
void CCharacterWindow::SetDefense ( const GLCHARLOGIC& sCharData )
{
CString strCombine;
strCombine.Format ( "%d", sCharData.GETDEFENSE () );
if ( m_pDefenseText ) m_pDefenseText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
}
void CCharacterWindow::SetReqPa ( const GLCHARLOGIC& sCharData )
{
CString strCombine;
strCombine.Format ( "%d", sCharData.m_wSUM_PA );
if ( m_pReqPaText ) m_pReqPaText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
}
void CCharacterWindow::SetReqSa ( const GLCHARLOGIC& sCharData )
{
CString strCombine;
strCombine.Format ( "%d", sCharData.m_wSUM_SA );
if ( m_pReqSaText ) m_pReqSaText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
}
void CCharacterWindow::SetReqMa ( const GLCHARLOGIC& sCharData )
{
CString strCombine;
strCombine.Format ( "%d", sCharData.m_wSUM_MA );
if ( m_pReqMaText ) m_pReqMaText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
}
void CCharacterWindow::SetHitRate ( const GLCHARLOGIC& sCharData )
{
CString strCombine;
strCombine.Format ( "%d", sCharData.GETHIT () );
if ( m_pHitRateText ) m_pHitRateText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
}
void CCharacterWindow::SetHP ( const GLCHARLOGIC& sCharData )
{
CString strCombine;
strCombine.Format ( "%d", sCharData.GETMAXHP () );
if ( m_pHPText ) m_pHPText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
}
void CCharacterWindow::SetMP ( const GLCHARLOGIC& sCharData )
{
CString strCombine;
strCombine.Format ( "%d", sCharData.m_sMP.wHigh );
if ( m_pMPText ) m_pMPText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
}
void CCharacterWindow::SetSP ( const GLCHARLOGIC& sCharData )
{
CString strCombine;
strCombine.Format ( "%d", sCharData.m_sSP.wHigh );
if ( m_pSPText ) m_pSPText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
}
void CCharacterWindow::SetAvoidRate ( const GLCHARLOGIC& sCharData )
{
CString strCombine;
strCombine.Format ( "%d", sCharData.GETAVOID () );
if ( m_pAvoidRateText ) m_pAvoidRateText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
}
void CCharacterWindow::SetFireResi ( const GLCHARLOGIC& sCharData )
{
CString strCombine;
strCombine.Format ( "%d", sCharData.m_sSUMRESIST_SKILL.nFire );
if ( m_pFireText ) m_pFireText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
}
void CCharacterWindow::SetColdResi ( const GLCHARLOGIC& sCharData )
{
CString strCombine;
strCombine.Format ( "%d", sCharData.m_sSUMRESIST_SKILL.nIce );
if ( m_pColdText ) m_pColdText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
}
void CCharacterWindow::SetElectricResi ( const GLCHARLOGIC& sCharData )
{
CString strCombine;
strCombine.Format ( "%d", sCharData.m_sSUMRESIST_SKILL.nElectric );
if ( m_pElectricText ) m_pElectricText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
}
void CCharacterWindow::SetPoisonResi ( const GLCHARLOGIC& sCharData )
{
CString strCombine;
strCombine.Format ( "%d", sCharData.m_sSUMRESIST_SKILL.nPoison );
if ( m_pPoisonText ) m_pPoisonText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
}
void CCharacterWindow::SetSpiritResi ( const GLCHARLOGIC& sCharData )
{
CString strCombine;
strCombine.Format ( "%d", sCharData.m_sSUMRESIST_SKILL.nSpirit );
if ( m_pSpiritText ) m_pSpiritText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
}