Commit 2401731f authored by fallenstardust's avatar fallenstardust

复刻相应刷新分类的函数供调用

parent 3d16e6c4
......@@ -474,6 +474,8 @@ bool Game::Initialize(ANDROID_APP app, android::InitOptions *options) {
ChangeToIGUIImageButton(btnHostPrepStart, imageManager.tButton_S, imageManager.tButton_S_pressed);
btnHostPrepCancel = env->addButton(rect<s32>(440 * xScale, 350 * yScale, 550 * xScale, 390 * yScale), wHostPrepare, BUTTON_HP_CANCEL, dataManager.GetSysString(1210));
ChangeToIGUIImageButton(btnHostPrepCancel, imageManager.tButton_S, imageManager.tButton_S_pressed);
btnHostDeckSelect = env->addButton(rect<s32>(300 * xScale, 300 * yScale, 410 * xScale, 340 * yScale), wHostPrepare, BUTTON_HP_DECK_SELECT, L"");
ChangeToIGUIImageButton(btnHostDeckSelect, imageManager.tButton_S, imageManager.tButton_S_pressed);
//img always use *yScale to keep proportion
wCardImg = env->addStaticText(L"",rect<s32>(1 * yScale, 1 * yScale, ( 2 + CARD_IMG_WIDTH) * yScale, (2 + CARD_IMG_HEIGHT) * yScale), true, false, 0, -1, true);
......
......@@ -397,6 +397,7 @@ public:
irr::gui::IGUIButton* btnHostPrepNotReady;
irr::gui::IGUIButton* btnHostPrepStart;
irr::gui::IGUIButton* btnHostPrepCancel;
irr::gui::IGUIButton* btnHostDeckSelect;
//replay
irr::gui::IGUIWindow* wReplay;
irr::gui::IGUIImage* bgReplay;
......@@ -752,7 +753,7 @@ extern Game* mainGame;
#define BUTTON_HP_READY 126
#define BUTTON_HP_NOTREADY 127
#define COMBOBOX_HP_CATEGORY 128
#define COMBOBOX_HP_DECK 129
#define BUTTON_HP_DECK_SELECT 129
#define LISTBOX_REPLAY_LIST 130
#define BUTTON_LOAD_REPLAY 131
#define BUTTON_CANCEL_REPLAY 132
......
......@@ -33,6 +33,40 @@ void UpdateDeck() {
BufferIO::WriteInt32(pdeck, deckManager.current_deck.side[i]->first);
DuelClient::SendBufferToServer(CTOS_UPDATE_DECK, deckbuf, pdeck - deckbuf);
}
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));
FileSystem::TraversalDir(L"./deck", [lstCategories](const wchar_t* name, bool isdir) {
if(isdir) {
lstCategories->addItem(name);
}
});
lstCategories->setSelected(mainGame->deckBuilder.prev_category);
mainGame->deckBuilder.RefreshDeckList();
mainGame->deckBuilder.RefreshReadonly(mainGame->deckBuilder.prev_category);
mainGame->lstDecks->setSelected(mainGame->deckBuilder.prev_deck);
mainGame->PopupElement(mainGame->wDeckManage);
}
void ChangeHostPrepareDeckCategory(int catesel) {
mainGame->RefreshDeck(mainGame->cbCategorySelect, mainGame->cbDeckSelect);
mainGame->cbDeckSelect->setSelected(0);
mainGame->deckBuilder.RefreshReadonly(catesel);
deckManager.LoadDeck(mainGame->cbCategorySelect, mainGame->cbDeckSelect);
mainGame->deckBuilder.is_modified = false;
mainGame->deckBuilder.prev_category = catesel;
mainGame->deckBuilder.prev_deck = 0;
}
bool MenuHandler::OnEvent(const irr::SEvent& event) {
if(mainGame->dField.OnCommonEvent(event))
return false;
......@@ -61,6 +95,12 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
else
mainGame->soundManager->PlaySoundEffect(SoundManager::SFX::BUTTON);
switch(id) {
case BUTTON_HP_DECK_SELECT: {
if (!mainGame->wQuery->isVisible()) {
ShowHostPrepareDeckManage();
}
break;
}
case BUTTON_CLOSE_DECKMANAGER: {
mainGame->HideElement(mainGame->wDeckManage);
break;
......@@ -570,7 +610,7 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
mainGame->deckBuilder.RefreshDeckList();
mainGame->lstDecks->setSelected(0);
mainGame->cbCategorySelect->setSelected(catesel);
mainGame->deckBuilder.ChangeCategory(catesel);
ChangeHostPrepareDeckCategory(catesel);
break;
}
case LISTBOX_DECKS: {
......@@ -579,9 +619,10 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
break;
}
int decksel = mainGame->lstDecks->getSelected();
mainGame->cbDeckSelect->setSelected(decksel);
if(decksel == -1)
break;
mainGame->cbDeckSelect->setSelected(decksel);
mainGame->btnHostDeckSelect->setText(mainGame->lstDecks->getListItem(mainGame->lstDecks->getSelected()));
mainGame->deckBuilder.RefreshPackListScroll();
mainGame->deckBuilder.prev_deck = decksel;
break;
......@@ -729,12 +770,7 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
mainGame->RefreshBot();
break;
}
case COMBOBOX_HP_DECK:
case COMBOBOX_HP_CATEGORY: {
if (!mainGame->wQuery->isVisible()) {
mainGame->deckBuilder.ShowDeckManage();
}
/*
int catesel = mainGame->cbCategorySelect->getSelected();
if(catesel == 3) {
catesel = 2;
......@@ -743,7 +779,7 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
if(catesel >= 0) {
mainGame->RefreshDeck(mainGame->cbCategorySelect, mainGame->cbDeckSelect);
mainGame->cbDeckSelect->setSelected(0);
}*/
}
break;
}
case COMBOBOX_BOT_DECKCATEGORY: {
......
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