Commit d3c6a367 authored by fallenstardust's avatar fallenstardust

在wHostPrepare不再显示卡包展示

相关组件也进行判断
parent 1606cb4c
......@@ -210,15 +210,27 @@ void DeckManager::GetCategoryPath(wchar_t* ret, int index, const wchar_t* text)
wchar_t catepath[256];
switch(index) {
case 0:
if (mainGame->wHostPrepare->isVisible()) {
myswprintf(catepath, L"./windbot/Decks");
} else {
myswprintf(catepath, L"./pack");
}
break;
case 1:
if (mainGame->wHostPrepare->isVisible()) {
myswprintf(catepath, L"./deck");
} else {
myswprintf(catepath, L"./windbot/Decks");
}
break;
case -1:
case 2:
case 3:
if (mainGame->wHostPrepare->isVisible()) {
myswprintf(catepath, L"./deck/%ls", text);
} else {
myswprintf(catepath, L"./deck");
}
break;
default:
myswprintf(catepath, L"./deck/%ls", text);
......
......@@ -1620,7 +1620,9 @@ void Game::LoadExpansions() {
}
void Game::RefreshCategoryDeck(irr::gui::IGUIComboBox* cbCategory, irr::gui::IGUIComboBox* cbDeck, bool selectlastused) {
cbCategory->clear();
if (cbCategory != mainGame->cbCategorySelect) {
cbCategory->addItem(dataManager.GetSysString(1450));
}
cbCategory->addItem(dataManager.GetSysString(1451));
cbCategory->addItem(dataManager.GetSysString(1452));
cbCategory->addItem(dataManager.GetSysString(1453));
......@@ -1629,7 +1631,11 @@ void Game::RefreshCategoryDeck(irr::gui::IGUIComboBox* cbCategory, irr::gui::IGU
cbCategory->addItem(name);
}
});
if (cbCategory != mainGame->cbCategorySelect) {
cbCategory->setSelected(1);
} else {
cbCategory->setSelected(2);
}
if(selectlastused) {
for(size_t i = 0; i < cbCategory->getItemCount(); ++i) {
if(!wcscmp(cbCategory->getItem(i), gameConf.lastcategory)) {
......@@ -1649,11 +1655,13 @@ void Game::RefreshCategoryDeck(irr::gui::IGUIComboBox* cbCategory, irr::gui::IGU
}
}
void Game::RefreshDeck(irr::gui::IGUIComboBox* cbCategory, irr::gui::IGUIComboBox* cbDeck) {
if (cbCategory != mainGame->cbCategorySelect) {
if(cbCategory != cbDBCategory && cbCategory->getSelected() == 0) {
// can't use pack list in duel
cbDeck->clear();
return;
}
}
wchar_t catepath[256];
deckManager.GetCategoryPath(catepath, cbCategory->getSelected(), cbCategory->getText());
cbDeck->clear();
......
......@@ -35,13 +35,8 @@ void UpdateDeck() {
}
void ShowHostPrepareDeckManage() {
mainGame->RefreshCategoryDeck(mainGame->cbCategorySelect, mainGame->cbDeckSelect, false);
mainGame->cbCategorySelect->setSelected(mainGame->deckBuilder.prev_category);
mainGame->RefreshDeck(mainGame->cbCategorySelect, mainGame->cbDeckSelect);
mainGame->cbDeckSelect->setSelected(mainGame->deckBuilder.prev_deck);
irr::gui::IGUIListBox* lstCategories = mainGame->lstCategories;
lstCategories->clear();
lstCategories->addItem(dataManager.GetSysString(1450));
lstCategories->addItem(dataManager.GetSysString(1451));
lstCategories->addItem(dataManager.GetSysString(1452));
lstCategories->addItem(dataManager.GetSysString(1453));
......@@ -68,7 +63,6 @@ void ShowHostPrepareDeckManage() {
void ChangeHostPrepareDeckCategory(int catesel) {
mainGame->RefreshDeck(mainGame->cbCategorySelect, mainGame->cbDeckSelect);
mainGame->cbDeckSelect->setSelected(0);
deckManager.LoadDeck(mainGame->cbCategorySelect, mainGame->cbDeckSelect);
mainGame->deckBuilder.is_modified = false;
mainGame->deckBuilder.prev_category = catesel;
mainGame->deckBuilder.prev_deck = 0;
......@@ -619,8 +613,8 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
break;
}
int catesel = mainGame->lstCategories->getSelected();
if(catesel == 3) {
catesel = 2;
if(catesel == 2) {
catesel = 1;
mainGame->lstCategories->setSelected(catesel);
if(mainGame->deckBuilder.prev_category == catesel)
break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment