📄 munpadialog.cpp
字号:
DWORD IDs[MAX_MUNPA_SEMIMEMBERLIST_NUM];
SelectedMembersIDChk(MAX_MUNPA_SEMIMEMBERLIST_NUM,MUN_MMGEMEMBER1CHK,m_pMgeRegularMembersLCtrl,IDs);
for(int i=0;i<MAX_MUNPA_SEMIMEMBERLIST_NUM;++i)
{
if(IDs[i] != 0)
{
MUNPAMGR->ChangeRankSyn(HEROID,IDs[i], Rank);
state = TRUE;
}
}
return state;
}
BOOL CMunpaDialog::CheckedBanMember()
{
BOOL state = FALSE;
DWORD IDs[MAX_MUNPA_SEMIMEMBERLIST_NUM];
SelectedMembersIDChk(MAX_MUNPA_SEMIMEMBERLIST_NUM,MUN_MMGEMEMBER1CHK,m_pMgeRegularMembersLCtrl,IDs);
int lastidx = MAX_MUNPA_SEMIMEMBERLIST_NUM;
for(int i=0;i<MAX_MUNPA_SEMIMEMBERLIST_NUM;++i)
{
if(IDs[i] != 0)
lastidx = i;
}
for(i=0;i<MAX_MUNPA_SEMIMEMBERLIST_NUM;++i)
{
if(IDs[i] != 0)
{
BOOL bLast;
if(i==lastidx)
bLast = TRUE;
else
bLast = FALSE;
MUNPAMGR->BanMember(IDs[i],bLast);
state = TRUE;
}
}
return state;
}
void CMunpaDialog::SelectedMembersIDChk(int count, LONG ChkBtnIDStar,cListCtrl* pListCtrl,DWORD* IDs)
{
cCheckBox* pChkArray[MAX_MUNPA_SEMIMEMBERLIST_NUM];
for(int i=0; i<count; ++i)
{
pChkArray[i] = (cCheckBox*)GetWindowForID(ChkBtnIDStar+i);
}
GetCheckedIDs(count,pChkArray,pListCtrl,IDs);
}
BOOL CMunpaDialog::CheckedDeleteBoardID()
{
BOOL state = FALSE;
DWORD IDs[MAX_MUNPA_BOARD_NUM];
SelectedMembersIDChk(MAX_MUNPA_BOARD_NUM,MUN_MBOARD1CHK,m_pMunpaUsedBoardsInfo,IDs);
int lastidx = MAX_MUNPA_BOARD_NUM;
for(int i=0;i<MAX_MUNPA_BOARD_NUM;++i)
{
if(IDs[i] != 0)
lastidx = i;
}
for(i=0;i<MAX_MUNPA_BOARD_NUM;++i)
{
if(IDs[i] != 0)
{
BOOL bLast;
if(i==lastidx)
bLast = TRUE;
else
bLast = FALSE;
MUNPAMGR->DeleteBoardSyn(IDs[i],bLast);
state = TRUE;
}
}
return state;
}
BOOL CMunpaDialog::IsCheckedBoard()
{
for(int i=0; i<MAX_MUNPA_BOARD_NUM; ++i)
{
if(m_pBoardChk[i]->IsChecked())
{
return TRUE;
}
}
return FALSE;
}
BOOL CMunpaDialog::CheckedModifyBoardID()
{
BOOL state = FALSE;
DWORD IDs[MAX_MUNPA_BOARD_NUM];
SelectedMembersIDChk(MAX_MUNPA_BOARD_NUM,MUN_MBOARD1CHK,m_pMunpaUsedBoardsInfo,IDs);
for(int i=0;i<MAX_MUNPA_BOARD_NUM;++i)
{
if(IDs[i])
{
MUNPAMGR->BoardRankInfoSyn(IDs[i]);
state = TRUE;
break;
}
}
return state;
}
/*
void CMunpaDialog::SetInfoinApplicate(MUNPA_SIMPLE_INFO* pMunpaInfo)
{
m_pMunpaInfoLCtrl->DeleteAllItems();
RITEM * ritem = new RITEM(5);
strcpy(ritem->pString[0], pMunpaInfo->MunpaName);
strcpy(ritem->pString[1], pMunpaInfo->MasterName);
sprintf(ritem->pString[2], "%d", pMunpaInfo->MunpaFamous);
sprintf(ritem->pString[3], "%d", pMunpaInfo->MemberNum);
sprintf(ritem->pString[4], "%d", 0);
m_pMunpaInfoLCtrl->InsertItem(0, ritem);
}
*/
int CMunpaDialog::GetRankforMgeBoard(long id)
{
char buff[64];
int Rank;
cComboBox * combo = (cComboBox *)WINDOWMGR->GetWindowForIDEx(id);
strcpy(buff,combo->GetComboText());
CMD_ST(buff)
CMD_CS(CHATMGR->GetChatMsg(154))
Rank = MUNPA_MASTER;
CMD_CS(CHATMGR->GetChatMsg(157))
Rank = MUNPA_VICE_MASTER;
CMD_CS(CHATMGR->GetChatMsg(156))
Rank = MUNPA_SENIOR;
CMD_CS(CHATMGR->GetChatMsg(155))
Rank = MUNPA_MEMBER;
CMD_CS(CHATMGR->GetChatMsg(188))
Rank = MUNPA_NOTMEMBER;
}
else
{ ASSERT(0);
CMD_EN
return Rank;
}
void CMunpaDialog::SetHomeInfo(MUNPA_HOME_INFO* HomeInfo)
{
if(HomeInfo->bIsInMap && IsTalkToNPC() == TRUE)
ShowWarehouseBtn(TRUE);
SetMunpaID(HomeInfo->MunpaID);
for(int i=0; i<MAX_MUNPA_BOARD_NUM; ++i)
m_pBoardBtn[i]->SetText(HomeInfo->BoardInfo[i].MunpaBoardName, MUNPABTN_BASICCOLOR,MUNPABTN_OVERCOLOR,MUNPABTN_PRESSCOLOR);
m_MunpaName->SetStaticText(HomeInfo->MunpaName);
m_pIntroMsg->SetScriptText(HomeInfo->IntroMsg);
//巩颇 沥焊
m_pMunpaInfoLCtrl ->DeleteAllItems();
m_pMunpaBattleInfoLCtrl->DeleteAllItems();
cRITEMEx *ritem = new cRITEMEx(5);
if(HomeInfo->Kind == MUNPA_KIND_JUNG)
strcpy(ritem->pString[0], CHATMGR->GetChatMsg(246));
else if(HomeInfo->Kind == MUNPA_KIND_SA)
strcpy(ritem->pString[0], CHATMGR->GetChatMsg(247));
else if(HomeInfo->Kind == MUNPA_KIND_WHANG)
strcpy(ritem->pString[0], CHATMGR->GetChatMsg(248));
else if(HomeInfo->Kind == MUNPA_KIND_MU)
strcpy(ritem->pString[0], CHATMGR->GetChatMsg(249));
strcpy(ritem->pString[1], HomeInfo->MasterName);
sprintf(ritem->pString[2], "%d", HomeInfo->MunpaFamous);
sprintf(ritem->pString[3], "%d", HomeInfo->MemberNum);
strcpy(ritem->pString[4], HomeInfo->CreateDay);
m_pMunpaInfoLCtrl->InsertItem(0, ritem);
//////////////////////////////////////////////////////////////////////////
//巩颇傈 沥焊
for(i=0; i<MAX_MUNPA_BATTLEKIND; ++i )
{
RITEM *battle = new RITEM(4);
if(i==0) strcpy(battle->pString[0], CHATMGR->GetChatMsg(456));
if(i==1) strcpy(battle->pString[0], CHATMGR->GetChatMsg(457));
if(i==2) strcpy(battle->pString[0], CHATMGR->GetChatMsg(458));
sprintf(battle->pString[1], "%d", HomeInfo->MunpaBattleRecordInfo[i].Total);
sprintf(battle->pString[2], "%d", HomeInfo->MunpaBattleRecordInfo[i].Win);
sprintf(battle->pString[3], "%d", HomeInfo->MunpaBattleRecordInfo[i].Loss);
m_pMunpaBattleInfoLCtrl->InsertItem(i, battle);
}
DWORD total, win, loss ;
RITEM *Total = new RITEM(4);
strcpy(Total->pString[0], CHATMGR->GetChatMsg(459));
for(i=0; i<MAX_MUNPA_BATTLEKIND; ++i)
{
total = HomeInfo->MunpaBattleRecordInfo[i].Total;
win = HomeInfo->MunpaBattleRecordInfo[i].Win;
loss = HomeInfo->MunpaBattleRecordInfo[i].Loss;
}
sprintf(Total->pString[1], "%d", total);
sprintf(Total->pString[2], "%d", win);
sprintf(Total->pString[3], "%d", loss);
m_pMunpaBattleInfoLCtrl->InsertItem(i, Total);
}
void CMunpaDialog::SetBoardRankInfo(char* Name, DWORD RSubjectRank, DWORD RContentRank, DWORD WContentRank, DWORD DContentRank, DWORD BoardID)
{
SetSelectedBoardID(BoardID);
m_pBoardName->SetEditText(Name);
SetBoardAuthorityRankCombox(MUN_MREADSUBJECTCOMBOBOX, RSubjectRank);
SetBoardAuthorityRankCombox(MUN_MREADCONTENTCOMBOBOX, RContentRank);
SetBoardAuthorityRankCombox(MUN_MWRITECOMBOBOX, WContentRank);
SetBoardAuthorityRankCombox(MUN_MDELCONTENTCOMBOBOX, DContentRank);
}
void CMunpaDialog::SetBoardAuthorityRankCombox(long Id, DWORD Rank)
{
cComboBox* pCbBox = (cComboBox*)GetWindowForID(Id);
if(Rank == MUNPA_MASTER)
pCbBox->SelectComboText(0);
else if(Rank == MUNPA_VICE_MASTER)
pCbBox->SelectComboText(1);
else if(Rank == MUNPA_SENIOR)
pCbBox->SelectComboText(2);
else if(Rank == MUNPA_MEMBER)
pCbBox->SelectComboText(3);
else if (Rank == MUNPA_NOTMEMBER)
pCbBox->SelectComboText(4);
}
DWORD CMunpaDialog::ActionEvent(CMouse * mouseInfo)
{
DWORD we = WE_NULL;
if( !m_bActive ) return we;
we = cDialog::ActionEvent(mouseInfo);
if(we & WE_ROWCLICK)
{
int mode = GetCurMunpaMode();
switch(mode)
{
case eMunpaMode_MunpaBoardList:
{
DWORD id = GetSelectedRowdwID(m_pMBL_SubjectList);
MUNPAMGR->BoardReadSyn(id, 0);
}
break;
}
}
return we;
}
DWORD CMunpaDialog::GetSelectedRowdwID(cListCtrl* Lctrl)
{
cRITEMEx * pRItem = (cRITEMEx *)Lctrl->GetRItem(Lctrl->GetSelectedRowIdx());
if(pRItem != NULL)
{
return pRItem->dwID;
}
return 0;
}
void CMunpaDialog::SetBoardContentInfo(SEND_MUNPA_BOARD_CONTENT_INFO* pInfo)
{
m_pMBR_Counts->SetStaticValue(pInfo->BoardListInfo.Count);
// 朝楼 函券
m_pMBR_Date->SetStaticText(pInfo->BoardListInfo.RegDate);
m_pMBR_Nums->SetStaticValue(pInfo->BoardListInfo.Seq);
m_pMBR_Subject->SetReadOnly(TRUE);
m_pMBR_Subject->SetEditText(pInfo->BoardListInfo.Subject);
m_pMBR_WriterNames->SetStaticText(pInfo->BoardListInfo.WriterName);
m_pMBR_Contents->SetScriptText(pInfo->Content);
SetReadingContentsIdx(pInfo->BoardListInfo.WritingsIDX);
// 鼻茄 汲沥
m_pMBR_Modify->SetActive(TRUE);
m_pMBR_Reply->SetActive(TRUE);
m_pMBR_Delete->SetActive(TRUE);
m_pMBR_NextContents->SetActive(TRUE);
m_pMBR_PrevContents->SetActive(TRUE);
}
void CMunpaDialog::ClearBoardListInfo()
{
m_pMBL_SubjectList->DeleteAllItems();
}
void CMunpaDialog::ShowBoardPageBtn(DWORD TotalPage)
{
if(TotalPage == 0)
{
for(DWORD i=0; i<MAX_MUNPA_PAGEBTN; ++i)
m_pBoardPageBtn[i]->SetActive(FALSE);
return;
}
DWORD MaxUnit = (TotalPage-1) / MAX_MUNPA_PAGE_UNIT;
DWORD CurUnit = (GetCurPage()-1) / MAX_MUNPA_PAGE_UNIT;
m_pBoardPageBtn[0]->SetActive(CurUnit != 0);
for(DWORD i=1; i<=MAX_MUNPA_PAGE_UNIT; ++i)
{
DWORD page = CurUnit*MAX_MUNPA_PAGE_UNIT + i;
m_pBoardPageBtn[i]->SetTextValue(page);
m_pBoardPageBtn[i]->SetActive(page <= TotalPage);
}
m_pBoardPageBtn[8]->SetActive(MaxUnit > CurUnit);
}
void CMunpaDialog::ShowPageBtn(DWORD TotalPage, cButton* pBtn[])
{
if(TotalPage == 0)
{
for(int i=0; i<MAX_MUNPA_PAGEBTN; ++i)
pBtn[i]->SetActive(FALSE);
return;
}
DWORD MaxUnit = (TotalPage-1) / MAX_MUNPA_PAGE_UNIT;
DWORD CurUnit = (GetCurPage()-1) / MAX_MUNPA_PAGE_UNIT;
pBtn[0]->SetActive(CurUnit != 0);
for(DWORD i=1; i<=MAX_MUNPA_PAGE_UNIT; ++i)
{
DWORD page = CurUnit*MAX_MUNPA_PAGE_UNIT + i;
pBtn[i]->SetTextValue(page);
pBtn[i]->SetActive(page <= TotalPage);
}
pBtn[8]->SetActive(MaxUnit > CurUnit);
}
void CMunpaDialog::SetCurPage(DWORD GotoPage)
{
m_PastPage = m_CurPage;
m_CurPage = GotoPage;
}
//////////////////////////////////////////////////////////////////////////
//芒绊
void CMunpaDialog::SetMoney(DWORD Money)
{
m_MunpaMoney = Money;
m_pMoney->SetEditText( AddComma( m_MunpaMoney ) );
}
void CMunpaDialog::MoveItem(MSG_ITEM_MOVE_SYN* pInfo)
{
if(m_CurMunpaMode == eMunpaMode_Warehouse)
m_pMunpaWarehouse->MoveItem(pInfo);
}
void CMunpaDialog::SetWarehouseInfo(SEND_MUNPA_WAREHOUSE_ITEM_INFO* pInfo)
{
for(int i=0; i<TABCELL_MUNPAWAREHOUSE_NUM; ++i)
{
if(pInfo->info.WarehouseItem[i].dwDBIdx != 0)
m_pMunpaWarehouse->AddItem(&pInfo->info.WarehouseItem[i]);
}
SetMoney(pInfo->info.money);
AddMunpaMode(eMunpaMode_Warehouse);
}
BOOL CMunpaDialog::FakeMoveIcon(LONG x, LONG y, cIcon * icon)
{
if(m_CurMunpaMode == eMunpaMode_Warehouse)
return m_pMunpaWarehouse->FakeMoveIcon(x,y,icon);
return FALSE;
}
void CMunpaDialog::FakeGeneralItemMove( POSTYPE ToPos, CItem * pFromItem, CItem * pToItem)
{
m_pMunpaWarehouse->FakeGeneralItemMove(ToPos, pFromItem, pToItem, HERO->GetMunpaIdx());
}
BOOL CMunpaDialog::AddItem(ITEMBASE* pItemInfo)
{
return m_pMunpaWarehouse->AddItem(pItemInfo);
}
BOOL CMunpaDialog::AddItem(CItem* pItem)
{
return m_pMunpaWarehouse->AddItem(pItem);
}
BOOL CMunpaDialog::DeleteItem(POSTYPE Pos,CItem** ppItem)
{
return m_pMunpaWarehouse->DeleteItem(Pos, ppItem);
}
CItem * CMunpaDialog::GetItemForIdx(POSTYPE absPos)
{
return m_pMunpaWarehouse->GetItemForIdx(absPos);
}
void CMunpaDialog::SetDividMsg( CItem * pFromItem, POSTYPE ToPos )
{
BYTE FromIdx = ITEMMGR->GetTableIdxForAbsPos( pFromItem->GetPosition() );
if(FromIdx >= eItemTable_Max) return;
BYTE ToIdx = ITEMMGR->GetTableIdxForAbsPos( ToPos );
if(ToIdx >= eItemTable_Max) return;
m_divideMsg.Category = MP_ITEM;
m_divideMsg.Protocol = MP_ITEM_DIVIDE_SYN;
m_divideMsg.dwObjectID = HEROID;
m_divideMsg.FromPos = pFromItem->GetPosition();
m_divideMsg.FromDur = pFromItem->GetDurability();
m_divideMsg.ToPos = ToPos;
m_divideMsg.ToDur = 0;
m_divideMsg.wItemIdx = pFromItem->GetItemIdx();
}
void CMunpaDialog::GetMBW_WriteContents(char* pTextOut)
{
m_pMBW_WriteContents->GetScriptText(pTextOut);
}
char* CMunpaDialog::GetMBW_SubjectEdit()
{
return m_pMBW_SubjectEdit->GetEditText();
}
void CMunpaDialog::PutInOutMoneySyn(int vals)
{
m_pMunpaWarehouse->PutInOutMoneySyn(vals);
}
void CMunpaDialog::PutInOutMoneyResult(MSG_DWORD * msg)
{
SetMoney(msg->dwData);
}
void CMunpaDialog::FocusClr()
{
m_pMBW_SubjectEdit->SetFocusEdit(FALSE);
m_pBoardName->SetFocusEdit(FALSE);
m_pMBW_WriteContents->SetFocusEdit(FALSE);
m_pModIntroMsg->SetFocusEdit(FALSE);
}
void CMunpaDialog::MunpaMsgBoxClr()
{
//MsgBox
cMsgBox* pMsgBox = NULL;
for(int i=MBI_MUNPABREAKUP; i<MBI_MUNPADELETEBOARD+1; ++i)
{
pMsgBox = (cMsgBox*)WINDOWMGR->GetWindowForID(i);
if(pMsgBox)
WINDOWMGR->AddListDestroyWindow( pMsgBox );
}
}
void CMunpaDialog::ShowWarehouseBtn(BOOL val)
{
m_pWareHouseBtn->SetActive(val);
if(val == TRUE)
int a = 1;
m_pViewMunpaListBtn->SetActive(val);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -