Commit 896bfa2c authored by nanahira's avatar nanahira

update card count calculation

parent ff45380b
...@@ -180,6 +180,7 @@ void ClientCard::UpdateInfo(char* buf) { ...@@ -180,6 +180,7 @@ void ClientCard::UpdateInfo(char* buf) {
link_marker = pdata; link_marker = pdata;
} }
} }
mainGame->dField.RefreshCardCountDisplay();
} }
void ClientCard::ClearTarget() { void ClientCard::ClearTarget() {
for(auto cit = cardTarget.begin(); cit != cardTarget.end(); ++cit) { for(auto cit = cardTarget.begin(); cit != cardTarget.end(); ++cit) {
......
...@@ -342,6 +342,7 @@ void ClientField::UpdateFieldCard(int controler, int location, char* data) { ...@@ -342,6 +342,7 @@ void ClientField::UpdateFieldCard(int controler, int location, char* data) {
(*cit)->UpdateInfo(data); (*cit)->UpdateInfo(data);
data += len - 4; data += len - 4;
} }
RefreshCardCountDisplay();
} }
void ClientField::ClearCommandFlag() { void ClientField::ClearCommandFlag() {
for(auto cit = activatable_cards.begin(); cit != activatable_cards.end(); ++cit) for(auto cit = activatable_cards.begin(); cit != activatable_cards.end(); ++cit)
...@@ -1463,14 +1464,21 @@ void ClientField::UpdateDeclarableCode(bool enter) { ...@@ -1463,14 +1464,21 @@ void ClientField::UpdateDeclarableCode(bool enter) {
UpdateDeclarableCodeOpcode(enter); UpdateDeclarableCodeOpcode(enter);
} }
void ClientField::RefreshCardCountDisplay() { void ClientField::RefreshCardCountDisplay() {
ClientCard* pcard;
for(int p = 0; p < 2; ++p) { for(int p = 0; p < 2; ++p) {
mainGame->dInfo.card_count[p] = hand[p].size(); mainGame->dInfo.card_count[p] = hand[p].size();
for(auto it = mzone[p].begin(); it != mzone[p].end(); ++it) { for(auto it = mzone[p].begin(); it != mzone[p].end(); ++it) {
if(*it) pcard = *it;
mainGame->dInfo.card_count[p]++; if(pcard) {
if(pcard->type & TYPE_LINK && pcard->link)
mainGame->dInfo.card_count[p] += pcard->link;
else
mainGame->dInfo.card_count[p]++;
}
} }
for(auto it = szone[p].begin(); it != szone[p].end(); ++it) { for(auto it = szone[p].begin(); it != szone[p].end(); ++it) {
if(*it) pcard = *it;
if(pcard)
mainGame->dInfo.card_count[p]++; mainGame->dInfo.card_count[p]++;
} }
myswprintf(mainGame->dInfo.str_card_count[p], L"%d", mainGame->dInfo.card_count[p]); myswprintf(mainGame->dInfo.str_card_count[p], L"%d", mainGame->dInfo.card_count[p]);
......
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