Commit eab6d184 authored by fallenstardust's avatar fallenstardust

添加判断,避免对应窗体未初始化时调用其combox闪退

P2卡组选择隐藏combobox只用按钮进入
parent 9bf1fe89
......@@ -1141,13 +1141,13 @@ bool Game::Initialize(ANDROID_APP app, android::InitOptions *options) {
ChangeToIGUIImageButton(btnBotCancel, imageManager.tButton_S, imageManager.tButton_S_pressed);
env->addStaticText(dataManager.GetSysString(1382), rect<s32>(310 * xScale, 10 * yScale, 500 * xScale, 30 * yScale), false, true, tabBot);
stBotInfo = env->addStaticText(L"", rect<s32>(310 * xScale, 40 * yScale, 560 * xScale, 160 * yScale), false, true, tabBot);
cbBotDeckCategory = CAndroidGUIComboBox::addAndroidComboBox(env, rect<s32>(310 * xScale, 90 * yScale, 530 * xScale, 120 * yScale), tabBot, COMBOBOX_BOT_DECKCATEGORY);
cbBotDeckCategory = env->addComboBox(rect<s32>(0, 0, 0, 0), tabBot, COMBOBOX_BOT_DECKCATEGORY);
cbBotDeckCategory->setVisible(false);
cbBotDeck = CAndroidGUIComboBox::addAndroidComboBox(env, rect<s32>(310 * xScale, 130 * yScale, 530 * xScale, 160 * yScale), tabBot);
cbBotDeck = env->addComboBox(rect<s32>(0, 0, 0, 0), tabBot);
cbBotDeck->setVisible(false);
btnBotDeckSelect = env->addButton(rect<s32>(310 * xScale, 40 * yScale, 530 * xScale, 80 * yScale), tabBot, BUTTON_BOT_DECK_SELECT, L"");
btnBotDeckSelect = env->addButton(rect<s32>(310 * xScale, 110 * yScale, 530 * xScale, 150 * yScale), tabBot, BUTTON_BOT_DECK_SELECT, L"");
btnBotDeckSelect->setVisible(false);
cbBotRule = CAndroidGUIComboBox::addAndroidComboBox(env, rect<s32>(310 * xScale, 170 * yScale, 530 * xScale, 200 * yScale), tabBot, COMBOBOX_BOT_RULE);
cbBotRule = CAndroidGUIComboBox::addAndroidComboBox(env, rect<s32>(310 * xScale, 160 * yScale, 530 * xScale, 200 * yScale), tabBot, COMBOBOX_BOT_RULE);
cbBotRule->addItem(dataManager.GetSysString(1262));
cbBotRule->addItem(dataManager.GetSysString(1263));
cbBotRule->addItem(dataManager.GetSysString(1264));
......@@ -1755,7 +1755,7 @@ void Game::RefreshBot() {
} else {
myswprintf(cate_deck, L"%ls%ls", cate, dataManager.GetSysString(1301));
}
mainGame->btnHostDeckSelect->setText(cate_deck);
mainGame->btnBotDeckSelect->setText(cate_deck);
}
}
void Game::LoadConfig() {
......
......@@ -420,7 +420,7 @@ public:
irr::gui::IGUIButton* btnBotCancel;
irr::gui::IGUIComboBox* cbBotDeckCategory;
irr::gui::IGUIComboBox* cbBotDeck;
irr::gui::IGUIButton* btnBotDeckSelect;
irr::gui::IGUIButton* btnBotDeckSelect;//
irr::gui::IGUIComboBox* cbBotRule;
irr::gui::IGUICheckBox* chkBotHand;
irr::gui::IGUICheckBox* chkBotNoCheckDeck;
......
......@@ -65,10 +65,14 @@ void ShowHostPrepareDeckManage(irr::gui::IGUIComboBox* cbCategory, irr::gui::IGU
void ChangeHostPrepareDeckCategory(int catesel) {
mainGame->RefreshDeck(mainGame->cbCategorySelect, mainGame->cbDeckSelect);
mainGame->RefreshDeck(mainGame->cbBotDeckCategory, mainGame->cbBotDeck);
mainGame->cbDeckSelect->setSelected(0);
mainGame->cbBotDeck->setSelected(0);
if (mainGame->wHostPrepare->isVisible()) {
mainGame->RefreshDeck(mainGame->cbCategorySelect, mainGame->cbDeckSelect);
mainGame->cbDeckSelect->setSelected(0);
}
if (mainGame->wSinglePlay->isVisible()) {
mainGame->RefreshDeck(mainGame->cbBotDeckCategory, mainGame->cbBotDeck);
mainGame->cbBotDeck->setSelected(0);
}
mainGame->deckBuilder.is_modified = false;
mainGame->deckBuilder.prev_category = catesel;
mainGame->deckBuilder.prev_deck = 0;
......@@ -577,9 +581,13 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
mainGame->lstDecks->setSelected(0);
mainGame->cbCategorySelect->setSelected(catesel);
mainGame->cbBotDeckCategory->setSelected(catesel);
ChangeHostPrepareDeckCategory(catesel);
reSetCategoryDeckNameOnButton(mainGame->btnHostDeckSelect, L"|");
reSetCategoryDeckNameOnButton(mainGame->btnBotDeckSelect, L"|");
ChangeHostPrepareDeckCategory(catesel);
if (mainGame->wSinglePlay->isVisible()) {
reSetCategoryDeckNameOnButton(mainGame->btnBotDeckSelect, L"|");
}
if (mainGame->wHostPrepare->isVisible()) {
reSetCategoryDeckNameOnButton(mainGame->btnHostDeckSelect, L"|");
}
break;
}
case LISTBOX_DECKS: {
......@@ -588,13 +596,16 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
break;
}
int decksel = mainGame->lstDecks->getSelected();
mainGame->cbDeckSelect->setSelected(decksel);
mainGame->cbBotDeck->setSelected(decksel);
if (mainGame->wSinglePlay->isVisible()) {
reSetCategoryDeckNameOnButton(mainGame->btnBotDeckSelect, L"|");
mainGame->cbBotDeck->setSelected(decksel);
}
if (mainGame->wHostPrepare->isVisible()) {
reSetCategoryDeckNameOnButton(mainGame->btnHostDeckSelect, L"|");
mainGame->cbDeckSelect->setSelected(decksel);
}
if(decksel == -1)
break;
reSetCategoryDeckNameOnButton(mainGame->btnHostDeckSelect, L"|");
reSetCategoryDeckNameOnButton(mainGame->btnBotDeckSelect, L"|");
mainGame->deckBuilder.RefreshPackListScroll();
mainGame->deckBuilder.prev_deck = decksel;
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