Commit cc5543bf authored by fallenstardust's avatar fallenstardust

disable BP M2 EP buttons on showing menu

parent 8ee21326
......@@ -156,6 +156,7 @@ public:
virtual bool OnCommonEvent(const irr::SEvent& event);
void GetHoverField(int x, int y);
void ShowMenu(int flag, int x, int y);
void HideMenu();
void UpdateChainButtons();
void ShowCancelOrFinishButton(int buttonOp);
void SetShowMark(ClientCard* pcard, bool enable);
......
......@@ -884,7 +884,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
memcpy(last_successful_msg, msg, len);
last_successful_msg_length = len;
}
mainGame->wCmdMenu->setVisible(false);
mainGame->dField.HideMenu();
if(!mainGame->dInfo.isReplay && mainGame->dInfo.curMsg != MSG_WAITING && mainGame->dInfo.curMsg != MSG_CARD_SELECTED) {
mainGame->waitFrame = -1;
mainGame->stHintMsg->setVisible(false);
......
......@@ -431,7 +431,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
}
case BUTTON_CMD_ACTIVATE:
case BUTTON_CMD_RESET: {
mainGame->wCmdMenu->setVisible(false);
HideMenu();
ShowCancelOrFinishButton(0);
if(!list_command) {
if(!menu_card)
......@@ -517,7 +517,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
break;
}
case BUTTON_CMD_SUMMON: {
mainGame->wCmdMenu->setVisible(false);
HideMenu();
if(!menu_card)
break;
for(size_t i = 0; i < summonable_cards.size(); ++i) {
......@@ -531,7 +531,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
break;
}
case BUTTON_CMD_SPSUMMON: {
mainGame->wCmdMenu->setVisible(false);
HideMenu();
if(!list_command) {
if(!menu_card)
break;
......@@ -574,7 +574,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
break;
}
case BUTTON_CMD_MSET: {
mainGame->wCmdMenu->setVisible(false);
HideMenu();
if(!menu_card)
break;
for(size_t i = 0; i < msetable_cards.size(); ++i) {
......@@ -587,7 +587,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
break;
}
case BUTTON_CMD_SSET: {
mainGame->wCmdMenu->setVisible(false);
HideMenu();
if(!menu_card)
break;
for(size_t i = 0; i < ssetable_cards.size(); ++i) {
......@@ -600,7 +600,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
break;
}
case BUTTON_CMD_REPOS: {
mainGame->wCmdMenu->setVisible(false);
HideMenu();
if(!menu_card)
break;
for(size_t i = 0; i < reposable_cards.size(); ++i) {
......@@ -613,7 +613,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
break;
}
case BUTTON_CMD_ATTACK: {
mainGame->wCmdMenu->setVisible(false);
HideMenu();
if(!menu_card)
break;
for(size_t i = 0; i < attackable_cards.size(); ++i) {
......@@ -626,7 +626,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
break;
}
case BUTTON_CMD_SHOWLIST: {
mainGame->wCmdMenu->setVisible(false);
HideMenu();
selectable_cards.clear();
wchar_t formatBuffer[2048];
switch(command_location) {
......@@ -1143,7 +1143,11 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
UpdateChainButtons();
}
if(mainGame->wCmdMenu->isVisible() && !mainGame->wCmdMenu->getRelativePosition().isPointInside(pos))
mainGame->wCmdMenu->setVisible(false);
HideMenu();
if(mainGame->btnBP->isVisible() && mainGame->btnBP->getAbsolutePosition().isPointInside(pos))
break;
if(mainGame->btnM2->isVisible() && mainGame->btnM2->getAbsolutePosition().isPointInside(pos))
break;
if(panel && panel->isVisible())
break;
GetHoverField(x, y);
......@@ -1549,7 +1553,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
UpdateChainButtons();
}
mainGame->HideElement(mainGame->wSurrender);
mainGame->wCmdMenu->setVisible(false);
HideMenu();
if(mainGame->fadingList.size())
break;
CancelOrFinish();
......@@ -1631,7 +1635,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
}
if(mcard) {
if(mcard != menu_card)
mainGame->wCmdMenu->setVisible(false);
HideMenu();
if(hovered_location == LOCATION_HAND) {
mcard->is_hovered = true;
MoveCard(mcard, 5);
......@@ -2557,7 +2561,7 @@ void ClientField::GetHoverField(int x, int y) {
}
void ClientField::ShowMenu(int flag, int x, int y) {
if(!flag) {
mainGame->wCmdMenu->setVisible(false);
HideMenu();
return;
}
menu_card = clicked_card;
......@@ -2646,6 +2650,12 @@ void ClientField::ShowMenu(int flag, int x, int y) {
mainGame->wCmdMenu->setVisible(true);
mainGame->wCmdMenu->setRelativePosition(irr::core::recti(x - 10 * mainGame->xScale , y - 30 * mainGame->yScale - height, x + 100 * mainGame->xScale, y - 20 * mainGame->yScale));
}
void ClientField::HideMenu() {
mainGame->wCmdMenu->setVisible(false);
mainGame->btnBP->setEnabled(true);
mainGame->btnM2->setEnabled(true);
mainGame->btnEP->setEnabled(true);
}
void ClientField::UpdateChainButtons() {
if(mainGame->btnChainAlways->isVisible()) {
mainGame->btnChainIgnore->setPressed(mainGame->ignore_chain);
......
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