Commit 2c1f3de1 authored by mercury233's avatar mercury233 Committed by GitHub

fix ClientField::ClearSelect (#2345)

parent 7bfe8860
......@@ -371,6 +371,18 @@ void ClientField::ClearSelect() {
(*cit)->is_selectable = false;
(*cit)->is_selected = false;
}
for(auto cit = selected_cards.begin(); cit != selected_cards.end(); ++cit) {
(*cit)->is_selectable = false;
(*cit)->is_selected = false;
}
for(auto cit = selectsum_all.begin(); cit != selectsum_all.end(); ++cit) {
(*cit)->is_selectable = false;
(*cit)->is_selected = false;
}
for(auto cit = selectsum_cards.begin(); cit != selectsum_cards.end(); ++cit) {
(*cit)->is_selectable = false;
(*cit)->is_selected = false;
}
}
void ClientField::ClearChainSelect() {
for(auto cit = activatable_cards.begin(); cit != activatable_cards.end(); ++cit) {
......
......@@ -3902,7 +3902,10 @@ void DuelClient::SendResponse() {
break;
}
case MSG_SELECT_CARD:
case MSG_SELECT_UNSELECT_CARD: {
case MSG_SELECT_UNSELECT_CARD:
case MSG_SELECT_TRIBUTE:
case MSG_SELECT_SUM:
case MSG_SELECT_COUNTER: {
mainGame->dField.ClearSelect();
break;
}
......@@ -3910,24 +3913,6 @@ void DuelClient::SendResponse() {
mainGame->dField.ClearChainSelect();
break;
}
case MSG_SELECT_TRIBUTE: {
mainGame->dField.ClearSelect();
break;
}
case MSG_SELECT_COUNTER: {
mainGame->dField.ClearSelect();
break;
}
case MSG_SELECT_SUM: {
for(int i = 0; i < mainGame->dField.must_select_count; ++i) {
mainGame->dField.selected_cards[i]->is_selected = false;
}
for(size_t i = 0; i < mainGame->dField.selectsum_all.size(); ++i) {
mainGame->dField.selectsum_all[i]->is_selectable = false;
mainGame->dField.selectsum_all[i]->is_selected = false;
}
break;
}
}
if(mainGame->dInfo.isSingleMode) {
SingleMode::SetResponse(response_buf, response_len);
......
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