// HumanSociety.cpp: implementation of the CHumanSociety class. // ////////////////////////////////////////////////////////////////////// #include "ClientMain.h" #include "WinInput.h" #include "HumanSociety.h" #include "GUITextEdit.h" #include "GUIMessageBox.h" ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// CHumanSociety::CHumanSociety() { } CHumanSociety::~CHumanSociety() { } BOOL CHumanSociety::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[13]); m_lstSprite.push_back(lpSprite); lpSprite = new CSprite; lpSprite->Create(x, y + 256, 0, 0, 222, 224, g_ClientMain.m_lpInterface->m_lstTexture[14]); m_lstSprite.push_back(lpSprite); // ÆÄƼ ã±â ¹éÆÇ lpSprite = new CSprite; lpSprite->Create(x + 5, y + 56, 0, 0, 214, 256, g_ClientMain.m_lpInterface->m_lstTexture[15]); m_lstSprite.push_back(lpSprite); lpSprite = new CSprite; lpSprite->Create(x + 5, y + 312, 0, 0, 214, 164, g_ClientMain.m_lpInterface->m_lstTexture[16]); m_lstSprite.push_back(lpSprite); // ÅÇ lpSprite = new CSprite; lpSprite->Create(x, y + 25, 0, 0, 222, 31, g_ClientMain.m_lpInterface->m_lstTexture[18]); m_lstSprite.push_back(lpSprite); lpSprite = new CSprite; lpSprite->Create(x, y + 25, 0, 31, 222, 62, g_ClientMain.m_lpInterface->m_lstTexture[18]); m_lstSprite.push_back(lpSprite); lpSprite = new CSprite; lpSprite->Create(x, y + 25, 0, 62, 222, 93, g_ClientMain.m_lpInterface->m_lstTexture[18]); m_lstSprite.push_back(lpSprite); lpSprite = new CSprite; lpSprite->Create(x, y + 25, 0, 93, 222, 124, g_ClientMain.m_lpInterface->m_lstTexture[18]); m_lstSprite.push_back(lpSprite); // »çȸâ lpSprite = new CSprite; lpSprite->Create(0, 0, 0, 0, 198, 41, g_ClientMain.m_lpInterface->m_lstTexture[17]); m_lstSprite.push_back(lpSprite); lpSprite = new CSprite; lpSprite->Create(0, 0, 0, 41, 198, 82, g_ClientMain.m_lpInterface->m_lstTexture[17]); m_lstSprite.push_back(lpSprite); // 10 lpSprite = new CSprite; lpSprite->Create(0, 0, 0, 174, 198, 215, g_ClientMain.m_lpInterface->m_lstTexture[17]); m_lstSprite.push_back(lpSprite); CGUIButton *lpButton; for(long i = 0; i < 10; i++) { lpButton = new CGUIButton; // Å»Åð lpButton->m_nMethod = BUTTON_NORMAL; lpButton->m_lpNormalButton = new CSprite; lpButton->m_lpNormalButton->Create(33, 23, 0, 95, 51, 108, g_ClientMain.m_lpInterface->m_lstTexture[17]); lpButton->m_lpOnMouseButton = new CSprite; lpButton->m_lpOnMouseButton->Create(33, 23, 51, 95, 102, 108, g_ClientMain.m_lpInterface->m_lstTexture[17]); lpButton->m_lpClickMouseButton = new CSprite; lpButton->m_lpClickMouseButton->Create(33, 23, 102, 95, 153, 108, g_ClientMain.m_lpInterface->m_lstTexture[17]); lpButton->SetTooltip(&m_TooltipManager, ""); lpButton->SetMove(x + 8, y + 62 + i * 41); lpButton->ShowButton(FALSE); m_ButtonManager.AddButton(lpButton); lpButton = new CGUIButton; // ¸®´õ¾çµµ lpButton->m_nMethod = BUTTON_NORMAL; lpButton->m_lpNormalButton = new CSprite; lpButton->m_lpNormalButton->Create(33, 23, 0, 108, 51, 121, g_ClientMain.m_lpInterface->m_lstTexture[17]); lpButton->m_lpOnMouseButton = new CSprite; lpButton->m_lpOnMouseButton->Create(33, 23, 51, 108, 102, 121, g_ClientMain.m_lpInterface->m_lstTexture[17]); lpButton->m_lpClickMouseButton = new CSprite; lpButton->m_lpClickMouseButton->Create(33, 23, 102, 108, 153, 121, g_ClientMain.m_lpInterface->m_lstTexture[17]); lpButton->SetTooltip(&m_TooltipManager, ""); lpButton->SetMove(x + 8, y + 62 + i * 41); lpButton->ShowButton(FALSE); m_ButtonManager.AddButton(lpButton); lpButton = new CGUIButton; // Å»Åð½ÃÅ´ lpButton->m_nMethod = BUTTON_NORMAL; lpButton->m_lpNormalButton = new CSprite; lpButton->m_lpNormalButton->Create(85, 23, 0, 82, 51, 95, g_ClientMain.m_lpInterface->m_lstTexture[17]); lpButton->m_lpOnMouseButton = new CSprite; lpButton->m_lpOnMouseButton->Create(85, 23, 51, 82, 102, 95, g_ClientMain.m_lpInterface->m_lstTexture[17]); lpButton->m_lpClickMouseButton = new CSprite; lpButton->m_lpClickMouseButton->Create(85, 23, 102, 82, 153, 95, g_ClientMain.m_lpInterface->m_lstTexture[17]); lpButton->SetTooltip(&m_TooltipManager, ""); lpButton->SetMove(x + 8, y + 62 + i * 41); lpButton->ShowButton(FALSE); m_ButtonManager.AddButton(lpButton); lpButton = new CGUIButton; // Á¦°ÅÇϱâ lpButton->m_nMethod = BUTTON_NORMAL; lpButton->m_lpNormalButton = new CSprite; lpButton->m_lpNormalButton->Create(33, 23, 0, 121, 51, 134, g_ClientMain.m_lpInterface->m_lstTexture[17]); lpButton->m_lpOnMouseButton = new CSprite; lpButton->m_lpOnMouseButton->Create(33, 23, 51, 121, 102, 134, g_ClientMain.m_lpInterface->m_lstTexture[17]); lpButton->m_lpClickMouseButton = new CSprite; lpButton->m_lpClickMouseButton->Create(33, 23, 102, 121, 153, 134, g_ClientMain.m_lpInterface->m_lstTexture[17]); lpButton->SetTooltip(&m_TooltipManager, ""); lpButton->SetMove(x + 8, y + 62 + i * 41); lpButton->ShowButton(FALSE); m_ButtonManager.AddButton(lpButton); lpButton = new CGUIButton; // Å»Åð½Åû lpButton->m_nMethod = BUTTON_NORMAL; lpButton->m_lpNormalButton = new CSprite; lpButton->m_lpNormalButton->Create(33, 23, 0, 134, 51, 147, g_ClientMain.m_lpInterface->m_lstTexture[17]); lpButton->m_lpOnMouseButton = new CSprite; lpButton->m_lpOnMouseButton->Create(33, 23, 51, 134, 102, 147, g_ClientMain.m_lpInterface->m_lstTexture[17]); lpButton->m_lpClickMouseButton = new CSprite; lpButton->m_lpClickMouseButton->Create(33, 23, 102, 134, 153, 147, g_ClientMain.m_lpInterface->m_lstTexture[17]); lpButton->SetTooltip(&m_TooltipManager, ""); lpButton->SetMove(x + 8, y + 62 + i * 41); lpButton->ShowButton(FALSE); m_ButtonManager.AddButton(lpButton); lpButton = new CGUIButton; // °ÅºÎÇϱâ lpButton->m_nMethod = BUTTON_NORMAL; lpButton->m_lpNormalButton = new CSprite; lpButton->m_lpNormalButton->Create(85, 23, 0, 147, 51, 160, g_ClientMain.m_lpInterface->m_lstTexture[17]); lpButton->m_lpOnMouseButton = new CSprite; lpButton->m_lpOnMouseButton->Create(85, 23, 51, 147, 102, 160, g_ClientMain.m_lpInterface->m_lstTexture[17]); lpButton->m_lpClickMouseButton = new CSprite; lpButton->m_lpClickMouseButton->Create(85, 23, 102, 147, 153, 160, g_ClientMain.m_lpInterface->m_lstTexture[17]); lpButton->SetTooltip(&m_TooltipManager, ""); lpButton->SetMove(x + 8, y + 62 + i * 41); lpButton->ShowButton(FALSE); m_ButtonManager.AddButton(lpButton); lpButton = new CGUIButton; // Ä£±¸µî·Ï lpButton->m_nMethod = BUTTON_NORMAL; lpButton->m_lpNormalButton = new CSprite; lpButton->m_lpNormalButton->Create(85, 23, 0, 160, 51, 173, g_ClientMain.m_lpInterface->m_lstTexture[17]); lpButton->m_lpOnMouseButton = new CSprite; lpButton->m_lpOnMouseButton->Create(85, 23, 51, 160, 102, 173, g_ClientMain.m_lpInterface->m_lstTexture[17]); lpButton->m_lpClickMouseButton = new CSprite; lpButton->m_lpClickMouseButton->Create(85, 23, 102, 160, 153, 173, g_ClientMain.m_lpInterface->m_lstTexture[17]); lpButton->SetTooltip(&m_TooltipManager, ""); lpButton->SetMove(x + 8, y + 62 + i * 41); lpButton->ShowButton(FALSE); m_ButtonManager.AddButton(lpButton); } // 70 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[220]); lpButton->SetMove(x, y); m_ButtonManager.AddButton(lpButton); // 71 lpButton = new CGUIButton; lpButton->m_nMethod = BUTTON_SIMPLECHECK; lpButton->m_lpNormalButton = new CSprite; lpButton->m_lpNormalButton->Create(15, 396, 10, 84, 28, 101, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpButton->m_lpClickMouseButton = new CSprite; lpButton->m_lpClickMouseButton->Create(15, 396, 43, 177, 61, 194, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpButton->SetMove(x, y); m_ButtonManager.AddButton(lpButton); // 72 lpButton = new CGUIButton; lpButton->m_nMethod = BUTTON_SIMPLECHECK; lpButton->m_lpNormalButton = new CSprite; lpButton->m_lpNormalButton->Create(15, 417, 10, 105, 28, 122, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpButton->m_lpClickMouseButton = new CSprite; lpButton->m_lpClickMouseButton->Create(15, 417, 43, 177, 61, 194, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpButton->SetMove(x, y); m_ButtonManager.AddButton(lpButton); // 73 Refresh lpButton = new CGUIButton; lpButton->m_nMethod = BUTTON_SIMPLE; lpButton->m_lpNormalButton = new CSprite; lpButton->m_lpNormalButton->Create(140, 441, 91, 199, 159, 225, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpButton->m_lpClickMouseButton = new CSprite; lpButton->m_lpClickMouseButton->Create(140, 441, 91, 225, 159, 251, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpButton->SetTooltip(&m_TooltipManager, g_StringTable.m_strString[221]); lpButton->SetMove(x, y); lpButton->ShowButton(FALSE); m_ButtonManager.AddButton(lpButton); // 74 ±Ó¸» º¸³»±â lpButton = new CGUIButton; lpButton->m_nMethod = BUTTON_SIMPLE; lpButton->m_lpNormalButton = new CSprite; lpButton->m_lpNormalButton->Create(38, 441, 0, 199, 91, 225, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpButton->m_lpClickMouseButton = new CSprite; lpButton->m_lpClickMouseButton->Create(38, 441, 0, 225, 91, 251, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpButton->SetTooltip(&m_TooltipManager, g_StringTable.m_strString[222]); lpButton->SetMove(x, y); lpButton->ShowButton(FALSE); m_ButtonManager.AddButton(lpButton); // 11 XÇ¥½Ã lpSprite = new CSprite; lpSprite->Create(0, 0, 17, 177, 35, 194, g_ClientMain.m_lpInterface->m_lstTexture[16]); m_lstSprite.push_back(lpSprite); CGUIScroll *lpScroll; lpScroll = new CGUIScroll; lpScroll->m_lpBarButton = new CGUIButton; lpScroll->m_lpBarButton->m_nMethod = BUTTON_SIMPLE; lpScroll->m_lpBarButton->m_lpNormalButton = new CSprite; lpScroll->m_lpBarButton->m_lpNormalButton->Create(207, 87, 74, 176, 85, 199, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpScroll->m_lpBarButton->m_lpClickMouseButton = new CSprite; lpScroll->m_lpBarButton->m_lpClickMouseButton->Create(207, 87, 74, 176, 85, 199, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpScroll->m_lpUpArrowButton = new CGUIButton; lpScroll->m_lpUpArrowButton->m_nMethod = BUTTON_SIMPLE; lpScroll->m_lpUpArrowButton->m_lpNormalButton = new CSprite; lpScroll->m_lpUpArrowButton->m_lpNormalButton->Create(207, 77, 123, 180, 134, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpScroll->m_lpUpArrowButton->m_lpClickMouseButton = new CSprite; lpScroll->m_lpUpArrowButton->m_lpClickMouseButton->Create(207, 77, 139, 180, 150, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpScroll->m_lpDownArrowButton = new CGUIButton; lpScroll->m_lpDownArrowButton->m_nMethod = BUTTON_SIMPLE; lpScroll->m_lpDownArrowButton->m_lpNormalButton = new CSprite; lpScroll->m_lpDownArrowButton->m_lpNormalButton->Create(207, 210, 91, 180, 102, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpScroll->m_lpDownArrowButton->m_lpClickMouseButton = new CSprite; lpScroll->m_lpDownArrowButton->m_lpClickMouseButton->Create(207, 210, 107, 180, 118, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpScroll->m_lValue = (long *)&m_dwStartMemberSlot; lpScroll->SetMove(x, y); lpScroll->SetPosition(207, 87); lpScroll->SetEdge(0, 0, 11, 100); lpScroll->SetRange(0, 0); m_lstScroll.push_back(lpScroll); m_dwStartMemberSlot = 0; lpScroll = new CGUIScroll; lpScroll->m_lpBarButton = new CGUIButton; lpScroll->m_lpBarButton->m_nMethod = BUTTON_SIMPLE; lpScroll->m_lpBarButton->m_lpNormalButton = new CSprite; lpScroll->m_lpBarButton->m_lpNormalButton->Create(207, 254, 74, 176, 85, 199, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpScroll->m_lpBarButton->m_lpClickMouseButton = new CSprite; lpScroll->m_lpBarButton->m_lpClickMouseButton->Create(207, 254, 74, 176, 85, 199, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpScroll->m_lpUpArrowButton = new CGUIButton; lpScroll->m_lpUpArrowButton->m_nMethod = BUTTON_SIMPLE; lpScroll->m_lpUpArrowButton->m_lpNormalButton = new CSprite; lpScroll->m_lpUpArrowButton->m_lpNormalButton->Create(207, 244, 123, 180, 134, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpScroll->m_lpUpArrowButton->m_lpClickMouseButton = new CSprite; lpScroll->m_lpUpArrowButton->m_lpClickMouseButton->Create(207, 244, 139, 180, 150, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpScroll->m_lpDownArrowButton = new CGUIButton; lpScroll->m_lpDownArrowButton->m_nMethod = BUTTON_SIMPLE; lpScroll->m_lpDownArrowButton->m_lpNormalButton = new CSprite; lpScroll->m_lpDownArrowButton->m_lpNormalButton->Create(207, 377, 91, 180, 102, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpScroll->m_lpDownArrowButton->m_lpClickMouseButton = new CSprite; lpScroll->m_lpDownArrowButton->m_lpClickMouseButton->Create(207, 377, 107, 180, 118, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpScroll->m_lValue = (long *)&m_dwStartPartySlot; lpScroll->SetMove(x, y); lpScroll->SetPosition(207, 254); lpScroll->SetEdge(0, 0, 11, 100); lpScroll->SetRange(0, 0); m_lstScroll.push_back(lpScroll); m_dwStartPartySlot = 0; lpScroll = new CGUIScroll; lpScroll->m_lpBarButton = new CGUIButton; lpScroll->m_lpBarButton->m_nMethod = BUTTON_SIMPLE; lpScroll->m_lpBarButton->m_lpNormalButton = new CSprite; lpScroll->m_lpBarButton->m_lpNormalButton->Create(206, 67, 74, 176, 85, 199, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpScroll->m_lpBarButton->m_lpClickMouseButton = new CSprite; lpScroll->m_lpBarButton->m_lpClickMouseButton->Create(206, 67, 74, 176, 85, 199, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpScroll->m_lpUpArrowButton = new CGUIButton; lpScroll->m_lpUpArrowButton->m_nMethod = BUTTON_SIMPLE; lpScroll->m_lpUpArrowButton->m_lpNormalButton = new CSprite; lpScroll->m_lpUpArrowButton->m_lpNormalButton->Create(206, 57, 123, 180, 134, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpScroll->m_lpUpArrowButton->m_lpClickMouseButton = new CSprite; lpScroll->m_lpUpArrowButton->m_lpClickMouseButton->Create(206, 57, 139, 180, 150, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpScroll->m_lpDownArrowButton = new CGUIButton; lpScroll->m_lpDownArrowButton->m_nMethod = BUTTON_SIMPLE; lpScroll->m_lpDownArrowButton->m_lpNormalButton = new CSprite; lpScroll->m_lpDownArrowButton->m_lpNormalButton->Create(206, 465, 91, 180, 102, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpScroll->m_lpDownArrowButton->m_lpClickMouseButton = new CSprite; lpScroll->m_lpDownArrowButton->m_lpClickMouseButton->Create(206, 465, 107, 180, 118, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpScroll->m_lValue = (long *)&m_dwStartFriendSlot; lpScroll->SetMove(x, y); lpScroll->SetPosition(206, 67); lpScroll->SetEdge(0, 0, 11, 377); lpScroll->SetRange(0, 0); m_lstScroll.push_back(lpScroll); m_dwStartFriendSlot = 0; lpScroll = new CGUIScroll; lpScroll->m_lpBarButton = new CGUIButton; lpScroll->m_lpBarButton->m_nMethod = BUTTON_SIMPLE; lpScroll->m_lpBarButton->m_lpNormalButton = new CSprite; lpScroll->m_lpBarButton->m_lpNormalButton->Create(206, 67, 74, 176, 85, 199, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpScroll->m_lpBarButton->m_lpClickMouseButton = new CSprite; lpScroll->m_lpBarButton->m_lpClickMouseButton->Create(206, 67, 74, 176, 85, 199, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpScroll->m_lpUpArrowButton = new CGUIButton; lpScroll->m_lpUpArrowButton->m_nMethod = BUTTON_SIMPLE; lpScroll->m_lpUpArrowButton->m_lpNormalButton = new CSprite; lpScroll->m_lpUpArrowButton->m_lpNormalButton->Create(206, 57, 123, 180, 134, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpScroll->m_lpUpArrowButton->m_lpClickMouseButton = new CSprite; lpScroll->m_lpUpArrowButton->m_lpClickMouseButton->Create(206, 57, 139, 180, 150, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpScroll->m_lpDownArrowButton = new CGUIButton; lpScroll->m_lpDownArrowButton->m_nMethod = BUTTON_SIMPLE; lpScroll->m_lpDownArrowButton->m_lpNormalButton = new CSprite; lpScroll->m_lpDownArrowButton->m_lpNormalButton->Create(206, 465, 91, 180, 102, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpScroll->m_lpDownArrowButton->m_lpClickMouseButton = new CSprite; lpScroll->m_lpDownArrowButton->m_lpClickMouseButton->Create(206, 465, 107, 180, 118, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]); lpScroll->m_lValue = (long *)&m_dwStartBanSlot; lpScroll->SetMove(x, y); lpScroll->SetPosition(207, 67); lpScroll->SetEdge(0, 0, 11, 377); lpScroll->SetRange(0, 0); m_lstScroll.push_back(lpScroll); m_dwStartBanSlot = 0; 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; InitValue(); return TRUE; } void CHumanSociety::InitValue(void) { m_dwStartSlot = 0; m_dwSocietyMode = 0; m_dwRemoveResult = 0; m_dwAddResult = 0; g_ClientMain.m_dwSelectMemberSlot = 0xFFFFFFFF; g_ClientMain.m_dwSelectPartySlot = 0xFFFFFFFF; } BOOL CHumanSociety::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; } } m_ButtonManager.Update(); m_TooltipManager.Update(); if(m_dwRemoveResult & MB_YES) { g_ClientMain.m_Network.m_pSocket->CharFriendRemoveRequest(m_dwChrID, (PktFriendRemoveReq::CMD)m_dwCommandType); m_dwRemoveResult = 0; return TRUE; } else if(m_dwRemoveResult & MB_NO || m_dwRemoveResult & MB_EXIT) { m_dwRemoveResult = 0; return TRUE; } if(m_dwAddResult & MB_YES) { g_ClientMain.m_Network.m_pSocket->CharFriendAddRequest(m_strName, (PktFriendAddReq::CMD)m_dwCommandType); m_dwAddResult = 0; return TRUE; } else if(m_dwAddResult & MB_NO || m_dwAddResult & MB_EXIT) { m_dwAddResult = 0; return TRUE; } if(g_DeviceInput.InRect(m_rcWindowSize.left + 5, m_rcWindowSize.top + 26, m_rcWindowSize.left + 56, m_rcWindowSize.top + 54) && g_DeviceInput.GetIsLeftMouseDown()) { m_dwSocietyMode = 0; } else if(g_DeviceInput.InRect(m_rcWindowSize.left + 58, m_rcWindowSize.top + 26, m_rcWindowSize.left + 109, m_rcWindowSize.top + 54) && g_DeviceInput.GetIsLeftMouseDown()) { m_dwSocietyMode = 1; } else if(g_DeviceInput.InRect(m_rcWindowSize.left + 111, m_rcWindowSize.top + 26, m_rcWindowSize.left + 162, m_rcWindowSize.top + 54) && g_DeviceInput.GetIsLeftMouseDown()) { m_dwSocietyMode = 2; } else if(g_DeviceInput.InRect(m_rcWindowSize.left + 164, m_rcWindowSize.top + 26, m_rcWindowSize.left + 215, m_rcWindowSize.top + 54) && g_DeviceInput.GetIsLeftMouseDown()) { m_dwSocietyMode = 3; } switch(m_dwSocietyMode) { case 0: UpdateParty(bClick, bEdge); break; case 1: UpdateFriend(bClick, bEdge); break; case 2: UpdateBan(bClick, bEdge); break; case 3: UpdateSearchParty(bClick, bEdge); break; } if(m_ButtonManager.m_lstButton[70]->m_nState == BUTTON_CLICK) { m_ButtonManager.m_lstButton[70]->m_nState = BUTTON_NONE; m_bShow = FALSE; } return TRUE; } BOOL CHumanSociety::UpdateParty(BOOL &bClick, BOOL &bEdge) { for(int i = 0; i < 10; i++) { if(m_ButtonManager.m_lstButton[0 + i * 7]->m_nState == BUTTON_CLICK) // Å»Åð { CNetwork::SendPartyCmd(0, ClientSocket::PartyCmd_Secession); } else if(m_ButtonManager.m_lstButton[1 + i * 7]->m_nState == BUTTON_CLICK) // ¸®´õ¾çµµ { int j, k; for(j = 0, k = 0; j < 10; j++) { if(!g_ClientMain.m_csStatus.m_PartyInfo.MemberCID[j]) continue; if(k == i) { break; } k++; } CNetwork::m_pSocket->CharPartyCmd(g_ClientMain.m_csStatus.m_PartyInfo.MemberCID[k], g_ClientMain.m_dwMyChrID, g_ClientMain.m_csStatus.m_PartyInfo.m_dwPartyID, ClientSocket::PartyCmd_Transfer); } else if(m_ButtonManager.m_lstButton[2 + i * 7]->m_nState == BUTTON_CLICK) // Å»Åð½ÃÅ´ { int j, k; for(j = 0, k = 0; j < 10; j++) { if(!g_ClientMain.m_csStatus.m_PartyInfo.MemberCID[j]) continue; if(k == i) { break; } k++; } CNetwork::m_pSocket->CharPartyCmd(g_ClientMain.m_csStatus.m_PartyInfo.MemberCID[k], g_ClientMain.m_dwMyChrID, g_ClientMain.m_csStatus.m_PartyInfo.m_dwPartyID, ClientSocket::PartyCmd_Banish); } else if(m_ButtonManager.m_lstButton[3 + i * 7]->m_nState == BUTTON_CLICK) { } else if(m_ButtonManager.m_lstButton[4 + i * 7]->m_nState == BUTTON_CLICK) { } } return TRUE; } BOOL CHumanSociety::UpdateFriend(BOOL &bClick, BOOL &bEdge) { if(g_ClientMain.m_csStatus.m_lstFriendList.size() > 10) m_lstScroll[2]->SetRange(0, g_ClientMain.m_csStatus.m_lstFriendList.size() - 10); m_lstScroll[2]->Update(); FriendInfo *lpFriend; for(int i = 0; i < 10; i++) { lpFriend = g_ClientMain.m_csStatus.GetFriendtoNum(i + m_dwStartFriendSlot); if(lpFriend && lpFriend->IsLogined()) { if(m_ButtonManager.m_lstButton[3 + i * 7]->m_nState == BUTTON_CLICK) // Á¦°ÅÇϱâ { char strMessage[MAX_PATH]; sprintf(strMessage, g_StringTable.m_strString[224], lpFriend->m_szName); CGUIMessageBox *lpMessageBox; lpMessageBox = new CGUIMessageBox; lpMessageBox->SetWordBreak(TRUE); lpMessageBox->Create(strMessage, MB_YES | MB_NO | MB_EXIT); lpMessageBox->SetResult(&m_dwRemoveResult); m_dwRemoveResult = 0; m_dwChrID = lpFriend->m_dwCID; m_dwCommandType = PktFriendRemoveReq::REMOVE_FRIEND_REQ; } else if(m_ButtonManager.m_lstButton[5 + i * 7]->m_nState == BUTTON_CLICK) // °ÅºÎÇϱâ { if(g_ClientMain.m_csStatus.m_lstBanList.size() >= 100) { g_TextEdit.AddMessage(g_StringTable.m_strString[225], g_ClientMain.m_dwMyChrID, 129); } else { char strMessage[MAX_PATH]; sprintf(strMessage, g_StringTable.m_strString[226], lpFriend->m_szName); CGUIMessageBox *lpMessageBox; lpMessageBox = new CGUIMessageBox; lpMessageBox->SetWordBreak(TRUE); lpMessageBox->Create(strMessage, MB_YES | MB_NO | MB_EXIT); lpMessageBox->SetResult(&m_dwAddResult); m_dwAddResult = 0; strcpy(m_strName, lpFriend->m_szName); m_dwCommandType = PktFriendAddReq::BAN_FRIEND_REQ; } } if(g_DeviceInput.InRect(m_rcWindowSize.left + 8, m_rcWindowSize.top + 62 + i * 41, m_rcWindowSize.left + 206, m_rcWindowSize.top + 62 + i * 41 + 41)) { if(g_DeviceInput.GetIsLeftMouseDBClick()) { strcpy(g_ClientMain.m_strWhisperChrID, lpFriend->m_szName); g_ClientMain.m_bInstanceWhisper = TRUE; g_TextEdit.SetFocus(); break; } } } } return TRUE; } BOOL CHumanSociety::UpdateBan(BOOL &bClick, BOOL &bEdge) { if(g_ClientMain.m_csStatus.m_lstBanList.size() > 10) m_lstScroll[3]->SetRange(0, g_ClientMain.m_csStatus.m_lstBanList.size() - 10); m_lstScroll[3]->Update(); BanInfo *lpBan; for(int i = 0; i < 10; i++) { lpBan = g_ClientMain.m_csStatus.GetBantoNum(i + m_dwStartBanSlot); if(lpBan) { if(m_ButtonManager.m_lstButton[3 + i * 7]->m_nState == BUTTON_CLICK) // Á¦°ÅÇϱâ { char strMessage[MAX_PATH]; sprintf(strMessage, g_StringTable.m_strString[227], lpBan->m_szName); CGUIMessageBox *lpMessageBox; lpMessageBox = new CGUIMessageBox; lpMessageBox->SetWordBreak(TRUE); lpMessageBox->Create(strMessage, MB_YES | MB_NO | MB_EXIT); lpMessageBox->SetResult(&m_dwRemoveResult); m_dwRemoveResult = 0; m_dwChrID = lpBan->m_dwCID; m_dwCommandType = PktFriendRemoveReq::REMOVE_BAN_REQ; } else if(m_ButtonManager.m_lstButton[6 + i * 7]->m_nState == BUTTON_CLICK) // Ä£±¸µî·Ï { if(g_ClientMain.m_csStatus.m_lstFriendList.size() >= 100) { g_TextEdit.AddMessage(g_StringTable.m_strString[228], g_ClientMain.m_dwMyChrID, 129); } else { char strMessage[MAX_PATH]; sprintf(strMessage, g_StringTable.m_strString[229], lpBan->m_szName); CGUIMessageBox *lpMessageBox; lpMessageBox = new CGUIMessageBox; lpMessageBox->SetWordBreak(TRUE); lpMessageBox->Create(strMessage, MB_YES | MB_NO | MB_EXIT); lpMessageBox->SetResult(&m_dwAddResult); m_dwAddResult = 0; strcpy(m_strName, lpBan->m_szName); m_dwCommandType = PktFriendAddReq::ADD_FRIEND_REQ; } } } } return TRUE; } BOOL CHumanSociety::UpdateSearchParty(BOOL &bClick, BOOL &bEdge) { if(g_ClientMain.m_cNumMember) { if(g_ClientMain.m_cNumMember > 9) m_lstScroll[0]->SetRange(0, g_ClientMain.m_cNumMember - 9); m_lstScroll[0]->Update(); unsigned long dwSlot; for(unsigned long i = 0; i < 9; i++) { dwSlot = i + m_dwStartMemberSlot; if(!g_ClientMain.m_mfpMember[dwSlot].m_cLevel) break; if(g_DeviceInput.InRect(m_rcWindowSize.left + 12, m_rcWindowSize.top + 77 + i * 16, m_rcWindowSize.left + 200, m_rcWindowSize.top + 93 + i * 16)) { if(g_DeviceInput.GetIsLeftMouseDBClick()) { g_ClientMain.m_dwSelectMemberSlot = dwSlot; g_ClientMain.m_dwSelectPartySlot = 0xFFFFFFFF; strcpy(g_ClientMain.m_strWhisperChrID, g_ClientMain.m_mfpMember[dwSlot].m_strName); g_ClientMain.m_bInstanceWhisper = TRUE; g_TextEdit.SetFocus(); break; } if(g_DeviceInput.GetIsLeftMouseDown()) { g_ClientMain.m_dwSelectMemberSlot = dwSlot; g_ClientMain.m_dwSelectPartySlot = 0xFFFFFFFF; break; } } } } if(g_ClientMain.m_cNumParty) { if(g_ClientMain.m_cNumParty > 9) m_lstScroll[1]->SetRange(0, g_ClientMain.m_cNumParty - 9); m_lstScroll[1]->Update(); unsigned long dwSlot; for(unsigned long i = 0; i < 9; i++) { dwSlot = i + m_dwStartPartySlot; if(!g_ClientMain.m_pfmParty[dwSlot].m_cAverageLevel) break; if(g_DeviceInput.InRect(m_rcWindowSize.left + 12, m_rcWindowSize.top + 245 + i * 16, m_rcWindowSize.left + 200, m_rcWindowSize.top + 261 + i * 16)) { if(g_DeviceInput.GetIsLeftMouseDBClick()) { g_ClientMain.m_dwSelectPartySlot = dwSlot; g_ClientMain.m_dwSelectMemberSlot = 0xFFFFFFFF; strcpy(g_ClientMain.m_strWhisperChrID, g_ClientMain.m_pfmParty[dwSlot].m_strLeaderName); g_ClientMain.m_bInstanceWhisper = TRUE; g_TextEdit.SetFocus(); break; } if(g_DeviceInput.GetIsLeftMouseDown()) { g_ClientMain.m_dwSelectPartySlot = dwSlot; g_ClientMain.m_dwSelectMemberSlot = 0xFFFFFFFF; } break; } } } if(m_ButtonManager.m_lstButton[71]->m_bShow && g_DeviceInput.InRect(m_rcWindowSize.left + 15, m_rcWindowSize.top + 396, m_rcWindowSize.left + 33, m_rcWindowSize.top + 413) && g_DeviceInput.GetIsLeftMouseDown()) { long lCounter; if((lCounter = g_ClientMain.m_Network.SendPartyCmd(!g_ClientMain.m_bPartyFind, ClientSocket::PartyCmd_FindParty)) != 0) { char strText[100]; sprintf(strText, g_StringTable.m_strString[223], lCounter / 1000.0f); g_TextEdit.AddMessage(strText, g_ClientMain.m_dwMyChrID, 129); } } if(m_ButtonManager.m_lstButton[72]->m_bShow && g_DeviceInput.InRect(m_rcWindowSize.left + 15, m_rcWindowSize.top + 417, m_rcWindowSize.left + 33, m_rcWindowSize.top + 434) && g_DeviceInput.GetIsLeftMouseDown()) { long lCounter; if((lCounter = g_ClientMain.m_Network.SendPartyCmd(!g_ClientMain.m_bPartyPlayerFind, ClientSocket::PartyCmd_FindMember)) != 0) { char strText[100]; sprintf(strText, g_StringTable.m_strString[223], lCounter / 1000.0f); g_TextEdit.AddMessage(strText, g_ClientMain.m_dwMyChrID, 129); } } if(m_ButtonManager.m_lstButton[73]->m_nState == BUTTON_CLICK) { long lCounter; if((lCounter = g_ClientMain.m_Network.SendPartyFind()) != 0) { char strText[100]; sprintf(strText, g_StringTable.m_strString[223], lCounter / 1000.0f); g_TextEdit.AddMessage(strText, g_ClientMain.m_dwMyChrID, 129); } else { g_ClientMain.m_dwSelectMemberSlot = 0xFFFFFFFF; g_ClientMain.m_dwSelectPartySlot = 0xFFFFFFFF; } } if(m_ButtonManager.m_lstButton[74]->m_nState == BUTTON_CLICK) { unsigned long dwSelect = 0xFFFFFFFF; BOOL bParty = FALSE; if(g_ClientMain.m_dwSelectMemberSlot != 0xFFFFFFFF) { dwSelect = g_ClientMain.m_dwSelectMemberSlot; bParty = FALSE; } if(g_ClientMain.m_dwSelectPartySlot != 0xFFFFFFFF) { dwSelect = g_ClientMain.m_dwSelectPartySlot; bParty = TRUE; } if(dwSelect != 0xFFFFFFFF) { if(bParty) strcpy(g_ClientMain.m_strWhisperChrID, g_ClientMain.m_pfmParty[dwSelect].m_strLeaderName); else strcpy(g_ClientMain.m_strWhisperChrID, g_ClientMain.m_mfpMember[dwSelect].m_strName); g_ClientMain.m_bInstanceWhisper = TRUE; g_TextEdit.SetFocus(); } } return TRUE; } void CHumanSociety::Render(LPDIRECT3DDEVICE8 lpD3DDevice) { m_lstSprite[0]->Render(lpD3DDevice, m_cAlpha); m_lstSprite[1]->Render(lpD3DDevice, m_cAlpha); switch(m_dwSocietyMode) { case 0: RenderParty(lpD3DDevice); break; case 1: RenderFriend(lpD3DDevice); break; case 2: RenderBan(lpD3DDevice); break; case 3: RenderSearchParty(lpD3DDevice); break; } m_ButtonManager.Render(lpD3DDevice); } void CHumanSociety::RenderParty(LPDIRECT3DDEVICE8 lpD3DDevice) { long i; m_lstSprite[4]->Render(lpD3DDevice, m_cAlpha); for(i = 0; i < 10; i++) { m_ButtonManager.m_lstButton[i * 7]->m_bShow = FALSE; m_ButtonManager.m_lstButton[1 + i * 7]->m_bShow = FALSE; m_ButtonManager.m_lstButton[2 + i * 7]->m_bShow = FALSE; m_ButtonManager.m_lstButton[3 + i * 7]->m_bShow = FALSE; m_ButtonManager.m_lstButton[4 + i * 7]->m_bShow = FALSE; m_ButtonManager.m_lstButton[5 + i * 7]->m_bShow = FALSE; m_ButtonManager.m_lstButton[6 + i * 7]->m_bShow = FALSE; } m_ButtonManager.m_lstButton[71]->m_bShow = FALSE; m_ButtonManager.m_lstButton[72]->m_bShow = FALSE; m_ButtonManager.m_lstButton[73]->m_bShow = FALSE; m_ButtonManager.m_lstButton[74]->m_bShow = FALSE; if(g_ClientMain.m_csStatus.m_PartyInfo.m_cMemberNum) { int count = 0; for(i = 0; i < 10; i++) { if(g_ClientMain.m_csStatus.m_PartyInfo.m_cMemberNum <= count) break; if(g_ClientMain.m_csStatus.m_PartyInfo.MemberCID) { if(g_ClientMain.m_csStatus.m_PartyInfo.MemberCID[i] == g_ClientMain.m_dwMyChrID) { if(g_ClientMain.m_csStatus.m_PartyInfo.m_dwLeaderID == g_ClientMain.m_dwMyChrID) { m_ButtonManager.m_lstButton[0 + count * 7]->m_bShow = TRUE; } else { m_ButtonManager.m_lstButton[0 + count * 7]->m_bShow = TRUE; } } else { if(g_ClientMain.m_csStatus.m_PartyInfo.m_dwLeaderID == g_ClientMain.m_dwMyChrID) { if(g_ClientMain.m_csStatus.m_PartyInfo.ServerID[i]) { m_ButtonManager.m_lstButton[1 + count * 7]->m_bShow = TRUE; } m_ButtonManager.m_lstButton[2 + count * 7]->m_bShow = TRUE; } } RenderSlot(lpD3DDevice, i, count, m_cAlpha, m_rcWindowSize.left + 8, m_rcWindowSize.top + 62 + count * 41); count++; } } } } void CHumanSociety::RenderFriend(LPDIRECT3DDEVICE8 lpD3DDevice) { long i; m_lstSprite[5]->Render(lpD3DDevice, m_cAlpha); for(i = 0; i < 10; i++) { m_ButtonManager.m_lstButton[i * 7]->m_bShow = FALSE; m_ButtonManager.m_lstButton[1 + i * 7]->m_bShow = FALSE; m_ButtonManager.m_lstButton[2 + i * 7]->m_bShow = FALSE; m_ButtonManager.m_lstButton[3 + i * 7]->m_bShow = FALSE; m_ButtonManager.m_lstButton[4 + i * 7]->m_bShow = FALSE; m_ButtonManager.m_lstButton[5 + i * 7]->m_bShow = FALSE; m_ButtonManager.m_lstButton[6 + i * 7]->m_bShow = FALSE; } m_ButtonManager.m_lstButton[71]->m_bShow = FALSE; m_ButtonManager.m_lstButton[72]->m_bShow = FALSE; m_ButtonManager.m_lstButton[73]->m_bShow = FALSE; m_ButtonManager.m_lstButton[74]->m_bShow = FALSE; m_lstScroll[2]->Render(lpD3DDevice); if(g_ClientMain.m_csStatus.m_lstFriendList.size()) { int count = 0, i; list::iterator it; for(it = g_ClientMain.m_csStatus.m_lstFriendList.begin(), i = 0; it != g_ClientMain.m_csStatus.m_lstFriendList.end(); it++, i++) { if(count >= 10) break; if(i < m_dwStartFriendSlot) continue; m_ButtonManager.m_lstButton[3 + count * 7]->m_bShow = TRUE; m_ButtonManager.m_lstButton[5 + count * 7]->m_bShow = TRUE; RenderFriendSlot(lpD3DDevice, (*it), count, m_cAlpha, m_rcWindowSize.left + 8, m_rcWindowSize.top + 62 + count * 41); count++; } } } void CHumanSociety::RenderFriendSlot(LPDIRECT3DDEVICE8 lpD3DDevice, FriendInfo *lpFriend, long lSlot, unsigned char cAlpha, long lMoveX, long lMoveY) { m_lstSprite[10]->Render(lpD3DDevice, cAlpha, lMoveX, lMoveY); unsigned long color; if(lpFriend->IsLogined()) { color = D3DCOLOR_RGBA(255, 255, 255, 255); } else { color = D3DCOLOR_RGBA(150, 150, 150, 150); } RECT rcRect; SetRect(&rcRect, lMoveX + 18, lMoveY + 6, lMoveX + 186, lMoveY + 18); // À̸§ g_TextEdit.DrawText((const char *)lpFriend->m_szName, &rcRect, DT_VCENTER | DT_LEFT, color); } void CHumanSociety::RenderBan(LPDIRECT3DDEVICE8 lpD3DDevice) { long i; m_lstSprite[6]->Render(lpD3DDevice, m_cAlpha); for(i = 0; i < 10; i++) { m_ButtonManager.m_lstButton[i * 7]->m_bShow = FALSE; m_ButtonManager.m_lstButton[1 + i * 7]->m_bShow = FALSE; m_ButtonManager.m_lstButton[2 + i * 7]->m_bShow = FALSE; m_ButtonManager.m_lstButton[3 + i * 7]->m_bShow = FALSE; m_ButtonManager.m_lstButton[4 + i * 7]->m_bShow = FALSE; m_ButtonManager.m_lstButton[5 + i * 7]->m_bShow = FALSE; m_ButtonManager.m_lstButton[6 + i * 7]->m_bShow = FALSE; } m_ButtonManager.m_lstButton[71]->m_bShow = FALSE; m_ButtonManager.m_lstButton[72]->m_bShow = FALSE; m_ButtonManager.m_lstButton[73]->m_bShow = FALSE; m_ButtonManager.m_lstButton[74]->m_bShow = FALSE; m_lstScroll[3]->Render(lpD3DDevice); if(g_ClientMain.m_csStatus.m_lstBanList.size()) { int count = 0, i; list::iterator it; for(it = g_ClientMain.m_csStatus.m_lstBanList.begin(), i = 0; it != g_ClientMain.m_csStatus.m_lstBanList.end(); it++, i++) { if(count >= 10) break; if(i < m_dwStartBanSlot) continue; m_ButtonManager.m_lstButton[3 + count * 7]->m_bShow = TRUE; m_ButtonManager.m_lstButton[6 + count * 7]->m_bShow = TRUE; RenderBanSlot(lpD3DDevice, (*it), count, m_cAlpha, m_rcWindowSize.left + 8, m_rcWindowSize.top + 62 + count * 41); count++; } } } void CHumanSociety::RenderBanSlot(LPDIRECT3DDEVICE8 lpD3DDevice, BanInfo *lpBan, long lSlot, unsigned char cAlpha, long lMoveX, long lMoveY) { m_lstSprite[10]->Render(lpD3DDevice, cAlpha, lMoveX, lMoveY); RECT rcRect; SetRect(&rcRect, lMoveX + 18, lMoveY + 6, lMoveX + 186, lMoveY + 18); // À̸§ g_TextEdit.DrawText((const char *)lpBan->m_szName, &rcRect, DT_VCENTER | DT_LEFT, D3DCOLOR_RGBA(255, 255, 255, 255)); } void CHumanSociety::RenderSearchParty(LPDIRECT3DDEVICE8 lpD3DDevice) { long i; m_lstSprite[7]->Render(lpD3DDevice, m_cAlpha); m_lstSprite[2]->Render(lpD3DDevice, m_cAlpha); m_lstSprite[3]->Render(lpD3DDevice, m_cAlpha); for(i = 0; i < 10; i++) { m_ButtonManager.m_lstButton[i * 7]->m_bShow = FALSE; m_ButtonManager.m_lstButton[1 + i * 7]->m_bShow = FALSE; m_ButtonManager.m_lstButton[2 + i * 7]->m_bShow = FALSE; m_ButtonManager.m_lstButton[3 + i * 7]->m_bShow = FALSE; m_ButtonManager.m_lstButton[4 + i * 7]->m_bShow = FALSE; m_ButtonManager.m_lstButton[5 + i * 7]->m_bShow = FALSE; m_ButtonManager.m_lstButton[6 + i * 7]->m_bShow = FALSE; } if(g_ClientMain.m_csStatus.m_PartyInfo.m_cMemberNum > 0) { m_ButtonManager.m_lstButton[71]->m_bShow = FALSE; m_lstSprite[11]->Render(lpD3DDevice, m_cAlpha, m_rcWindowSize.left + 15, m_rcWindowSize.top + 396); } else { m_ButtonManager.m_lstButton[71]->m_bShow = TRUE; if(g_ClientMain.m_bPartyFind) m_ButtonManager.m_lstButton[71]->m_nState = BUTTON_ON; else m_ButtonManager.m_lstButton[71]->m_nState = BUTTON_OFF; } if(g_ClientMain.m_csStatus.m_PartyInfo.m_dwLeaderID == g_ClientMain.m_dwMyChrID) { m_ButtonManager.m_lstButton[72]->m_bShow = TRUE; if(g_ClientMain.m_bPartyPlayerFind) m_ButtonManager.m_lstButton[72]->m_nState = BUTTON_ON; else m_ButtonManager.m_lstButton[72]->m_nState = BUTTON_OFF; } else { m_ButtonManager.m_lstButton[72]->m_bShow = FALSE; m_lstSprite[11]->Render(lpD3DDevice, m_cAlpha, m_rcWindowSize.left + 15, m_rcWindowSize.top + 417); } if(g_ClientMain.m_cNumMember) { char strLevel[5], strClass[30]; RECT rcRect; unsigned long dwSlot, dwColor; for(unsigned long i = 0; i < 9; i++) { dwSlot = i + m_dwStartMemberSlot; if(!g_ClientMain.m_mfpMember[dwSlot].m_cLevel) break; sprintf(strLevel, "%d", g_ClientMain.m_mfpMember[dwSlot].m_cLevel); strcpy(strClass, g_ClientMain.m_lpCommonInterface->GetClassName(g_ClientMain.m_mfpMember[dwSlot].m_cClass)); if(g_DeviceInput.InRect(m_rcWindowSize.left + 12, m_rcWindowSize.top + 78 + i * 16, m_rcWindowSize.left + 200, m_rcWindowSize.top + 92 + i * 16)) { g_ClientMain.m_lpCommonInterface->RenderRect(lpD3DDevice, m_rcWindowSize.left + 12, m_rcWindowSize.top + 77 + i * 16, m_rcWindowSize.left + 200, m_rcWindowSize.top + 93 + i * 16, 0xFFFFFFFF, 0x80); } if(dwSlot == g_ClientMain.m_dwSelectMemberSlot) dwColor = D3DCOLOR_RGBA(255, 0, 255, 255); else dwColor = D3DCOLOR_RGBA(255, 255, 255, 255); SetRect(&rcRect, m_rcWindowSize.left + 12, m_rcWindowSize.top + 77 + i * 16, m_rcWindowSize.left + 110, m_rcWindowSize.top + 93 + i * 16); g_TextEdit.DrawText(g_ClientMain.m_mfpMember[i].m_strName, &rcRect, DT_VCENTER | DT_LEFT, dwColor); SetRect(&rcRect, m_rcWindowSize.left + 113, m_rcWindowSize.top + 77 + i * 16, m_rcWindowSize.left + 173, m_rcWindowSize.top + 93 + i * 16); g_TextEdit.DrawText(strClass, &rcRect, DT_VCENTER | DT_LEFT, dwColor); SetRect(&rcRect, m_rcWindowSize.left + 179, m_rcWindowSize.top + 77 + i * 16, m_rcWindowSize.left + 200, m_rcWindowSize.top + 93 + i * 16); g_TextEdit.DrawText(strLevel, &rcRect, DT_VCENTER | DT_RIGHT, dwColor); } } m_lstScroll[0]->Render(lpD3DDevice); if(g_ClientMain.m_cNumParty) { char strLevel[5], strNum[5]; RECT rcRect; unsigned long dwSlot, dwColor; for(unsigned long i = 0; i < 9; i++) { dwSlot = i + m_dwStartPartySlot; if(!g_ClientMain.m_pfmParty[dwSlot].m_cAverageLevel) break; sprintf(strLevel, "%d", g_ClientMain.m_pfmParty[dwSlot].m_cAverageLevel); sprintf(strNum, "%d", g_ClientMain.m_pfmParty[dwSlot].m_cMemberNum); if(g_DeviceInput.InRect(m_rcWindowSize.left + 12, m_rcWindowSize.top + 246 + i * 16, m_rcWindowSize.left + 200, m_rcWindowSize.top + 260 + i * 16)) { g_ClientMain.m_lpCommonInterface->RenderRect(lpD3DDevice, m_rcWindowSize.left + 12, m_rcWindowSize.top + 245 + i * 16, m_rcWindowSize.left + 200, m_rcWindowSize.top + 261 + i * 16, 0xFFFFFFFF, 0x80); } if(dwSlot == g_ClientMain.m_dwSelectPartySlot) dwColor = D3DCOLOR_RGBA(255, 0, 255, 255); else dwColor = D3DCOLOR_RGBA(255, 255, 255, 255); SetRect(&rcRect, m_rcWindowSize.left + 12, m_rcWindowSize.top + 245 + i * 16, m_rcWindowSize.left + 110, m_rcWindowSize.top + 261 + i * 16); g_TextEdit.DrawText(g_ClientMain.m_pfmParty[i].m_strLeaderName, &rcRect, DT_VCENTER | DT_LEFT, dwColor); SetRect(&rcRect, m_rcWindowSize.left + 113, m_rcWindowSize.top + 245 + i * 16, m_rcWindowSize.left + 173, m_rcWindowSize.top + 261 + i * 16); g_TextEdit.DrawText(strNum, &rcRect, DT_VCENTER | DT_RIGHT, dwColor); SetRect(&rcRect, m_rcWindowSize.left + 179, m_rcWindowSize.top + 245 + i * 16, m_rcWindowSize.left + 200, m_rcWindowSize.top + 261 + i * 16); g_TextEdit.DrawText(strLevel, &rcRect, DT_VCENTER | DT_RIGHT, dwColor); } } m_lstScroll[1]->Render(lpD3DDevice); m_ButtonManager.m_lstButton[73]->m_bShow = TRUE; m_ButtonManager.m_lstButton[74]->m_bShow = TRUE; } void CHumanSociety::RenderSlot(LPDIRECT3DDEVICE8 lpD3DDevice, long DataSlot, long lSlot, unsigned char cAlpha, long lMoveX, long lMoveY) { m_lstSprite[8]->Render(lpD3DDevice, cAlpha, lMoveX, lMoveY); unsigned long color; if(g_ClientMain.m_csStatus.m_PartyInfo.m_dwLeaderID == g_ClientMain.m_csStatus.m_PartyInfo.MemberCID[DataSlot]) { color = D3DCOLOR_RGBA(235, 227, 167, 255); } else if(g_ClientMain.m_csStatus.m_PartyInfo.ServerID[DataSlot]) { color = D3DCOLOR_RGBA(255, 255, 255, 255); } else { color = D3DCOLOR_RGBA(150, 150, 150, 150); } RECT rcRect; char strString[MAX_PATH]; SetRect(&rcRect, lMoveX + 18, lMoveY + 6, lMoveX + 108, lMoveY + 18); // À̸§ g_TextEdit.DrawText((const char *)g_ClientMain.m_csStatus.m_PartyInfo.Name[DataSlot], &rcRect, DT_VCENTER | DT_LEFT, color); CCreature *lpCreature; if(g_ClientMain.m_csStatus.m_PartyInfo.ServerID[DataSlot]) { lpCreature = g_CharacterData.GetCreature(g_ClientMain.m_csStatus.m_PartyInfo.MemberCID[DataSlot]); if(lpCreature) { SetRect(&rcRect, lMoveX + 123, lMoveY + 6, lMoveX + 186, lMoveY + 18); // Ŭ·¡½º g_TextEdit.DrawText(g_ClientMain.m_lpCommonInterface->GetClassName(lpCreature->m_wClass), &rcRect, DT_VCENTER | DT_CENTER, D3DCOLOR_RGBA(255, 255, 255, 255)); SetRect(&rcRect, lMoveX + 9, lMoveY + 23, lMoveX + 27, lMoveY + 34); // ·¹º§ sprintf(strString, "%d", lpCreature->m_cLevel); g_TextEdit.DrawText(strString, &rcRect, DT_VCENTER | DT_CENTER, D3DCOLOR_RGBA(255, 255, 255, 255)); } } // m_ButtonManager.m_lstButton[lSlot * 5]->m_bShow = TRUE; }