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) ...@@ -210,15 +210,27 @@ void DeckManager::GetCategoryPath(wchar_t* ret, int index, const wchar_t* text)
wchar_t catepath[256]; wchar_t catepath[256];
switch(index) { switch(index) {
case 0: case 0:
myswprintf(catepath, L"./pack"); if (mainGame->wHostPrepare->isVisible()) {
myswprintf(catepath, L"./windbot/Decks");
} else {
myswprintf(catepath, L"./pack");
}
break; break;
case 1: case 1:
myswprintf(catepath, L"./windbot/Decks"); if (mainGame->wHostPrepare->isVisible()) {
myswprintf(catepath, L"./deck");
} else {
myswprintf(catepath, L"./windbot/Decks");
}
break; break;
case -1: case -1:
case 2: case 2:
case 3: case 3:
myswprintf(catepath, L"./deck"); if (mainGame->wHostPrepare->isVisible()) {
myswprintf(catepath, L"./deck/%ls", text);
} else {
myswprintf(catepath, L"./deck");
}
break; break;
default: default:
myswprintf(catepath, L"./deck/%ls", text); myswprintf(catepath, L"./deck/%ls", text);
......
...@@ -1620,7 +1620,9 @@ void Game::LoadExpansions() { ...@@ -1620,7 +1620,9 @@ void Game::LoadExpansions() {
} }
void Game::RefreshCategoryDeck(irr::gui::IGUIComboBox* cbCategory, irr::gui::IGUIComboBox* cbDeck, bool selectlastused) { void Game::RefreshCategoryDeck(irr::gui::IGUIComboBox* cbCategory, irr::gui::IGUIComboBox* cbDeck, bool selectlastused) {
cbCategory->clear(); cbCategory->clear();
cbCategory->addItem(dataManager.GetSysString(1450)); if (cbCategory != mainGame->cbCategorySelect) {
cbCategory->addItem(dataManager.GetSysString(1450));
}
cbCategory->addItem(dataManager.GetSysString(1451)); cbCategory->addItem(dataManager.GetSysString(1451));
cbCategory->addItem(dataManager.GetSysString(1452)); cbCategory->addItem(dataManager.GetSysString(1452));
cbCategory->addItem(dataManager.GetSysString(1453)); cbCategory->addItem(dataManager.GetSysString(1453));
...@@ -1629,7 +1631,11 @@ void Game::RefreshCategoryDeck(irr::gui::IGUIComboBox* cbCategory, irr::gui::IGU ...@@ -1629,7 +1631,11 @@ void Game::RefreshCategoryDeck(irr::gui::IGUIComboBox* cbCategory, irr::gui::IGU
cbCategory->addItem(name); cbCategory->addItem(name);
} }
}); });
cbCategory->setSelected(2); if (cbCategory != mainGame->cbCategorySelect) {
cbCategory->setSelected(1);
} else {
cbCategory->setSelected(2);
}
if(selectlastused) { if(selectlastused) {
for(size_t i = 0; i < cbCategory->getItemCount(); ++i) { for(size_t i = 0; i < cbCategory->getItemCount(); ++i) {
if(!wcscmp(cbCategory->getItem(i), gameConf.lastcategory)) { if(!wcscmp(cbCategory->getItem(i), gameConf.lastcategory)) {
...@@ -1649,11 +1655,13 @@ void Game::RefreshCategoryDeck(irr::gui::IGUIComboBox* cbCategory, irr::gui::IGU ...@@ -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) { void Game::RefreshDeck(irr::gui::IGUIComboBox* cbCategory, irr::gui::IGUIComboBox* cbDeck) {
if(cbCategory != cbDBCategory && cbCategory->getSelected() == 0) { if (cbCategory != mainGame->cbCategorySelect) {
// can't use pack list in duel if(cbCategory != cbDBCategory && cbCategory->getSelected() == 0) {
cbDeck->clear(); // can't use pack list in duel
return; cbDeck->clear();
} return;
}
}
wchar_t catepath[256]; wchar_t catepath[256];
deckManager.GetCategoryPath(catepath, cbCategory->getSelected(), cbCategory->getText()); deckManager.GetCategoryPath(catepath, cbCategory->getSelected(), cbCategory->getText());
cbDeck->clear(); cbDeck->clear();
......
...@@ -35,13 +35,8 @@ void UpdateDeck() { ...@@ -35,13 +35,8 @@ void UpdateDeck() {
} }
void ShowHostPrepareDeckManage() { 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; irr::gui::IGUIListBox* lstCategories = mainGame->lstCategories;
lstCategories->clear(); lstCategories->clear();
lstCategories->addItem(dataManager.GetSysString(1450));
lstCategories->addItem(dataManager.GetSysString(1451)); lstCategories->addItem(dataManager.GetSysString(1451));
lstCategories->addItem(dataManager.GetSysString(1452)); lstCategories->addItem(dataManager.GetSysString(1452));
lstCategories->addItem(dataManager.GetSysString(1453)); lstCategories->addItem(dataManager.GetSysString(1453));
...@@ -68,7 +63,6 @@ void ShowHostPrepareDeckManage() { ...@@ -68,7 +63,6 @@ void ShowHostPrepareDeckManage() {
void ChangeHostPrepareDeckCategory(int catesel) { void ChangeHostPrepareDeckCategory(int catesel) {
mainGame->RefreshDeck(mainGame->cbCategorySelect, mainGame->cbDeckSelect); mainGame->RefreshDeck(mainGame->cbCategorySelect, mainGame->cbDeckSelect);
mainGame->cbDeckSelect->setSelected(0); mainGame->cbDeckSelect->setSelected(0);
deckManager.LoadDeck(mainGame->cbCategorySelect, mainGame->cbDeckSelect);
mainGame->deckBuilder.is_modified = false; mainGame->deckBuilder.is_modified = false;
mainGame->deckBuilder.prev_category = catesel; mainGame->deckBuilder.prev_category = catesel;
mainGame->deckBuilder.prev_deck = 0; mainGame->deckBuilder.prev_deck = 0;
...@@ -619,8 +613,8 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) { ...@@ -619,8 +613,8 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
break; break;
} }
int catesel = mainGame->lstCategories->getSelected(); int catesel = mainGame->lstCategories->getSelected();
if(catesel == 3) { if(catesel == 2) {
catesel = 2; catesel = 1;
mainGame->lstCategories->setSelected(catesel); mainGame->lstCategories->setSelected(catesel);
if(mainGame->deckBuilder.prev_category == catesel) if(mainGame->deckBuilder.prev_category == catesel)
break; 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