Erwan
- fix issue 111
This commit is contained in:
@@ -84,9 +84,14 @@ void GuiPlay::BattleField::EnstackAttacker(CardView* card)
|
||||
void GuiPlay::BattleField::EnstackBlocker(CardView* card)
|
||||
{
|
||||
GameObserver* game = GameObserver::GetInstance();
|
||||
if (card->card && card->card->defenser && card->card->defenser->view)
|
||||
card->x = card->card->defenser->view->x;
|
||||
card->y = baseY + (game->players[0] == card->card->controller() ? 20 + y : -20 - y);
|
||||
MTGCardInstance * c = card->card;
|
||||
if (!c) return;
|
||||
int offset = 0;
|
||||
if (c->defenser && c->defenser->view){
|
||||
offset = c->defenser->getDefenserRank(c);
|
||||
card->x = c->defenser->view->x + 5 * offset;
|
||||
}
|
||||
card->y = baseY + (game->players[0] == card->card->controller() ? 20 + y + 6 * offset : -20 - y + 6 * offset);
|
||||
}
|
||||
void GuiPlay::BattleField::Update(float dt)
|
||||
{
|
||||
|
||||
@@ -512,6 +512,15 @@ int MTGCardInstance::bringBlockerToFrontOfOrder(MTGCardInstance * blocker){
|
||||
return 1;
|
||||
}
|
||||
|
||||
int MTGCardInstance::getDefenserRank(MTGCardInstance * blocker){
|
||||
int result = 0;
|
||||
for(list<MTGCardInstance *>::iterator it1 = blockers.begin(); it1 != blockers.end(); ++it1){
|
||||
result++;
|
||||
if ((*it1) == blocker) return result;
|
||||
}
|
||||
return 0;
|
||||
};
|
||||
|
||||
int MTGCardInstance::removeBlocker(MTGCardInstance * blocker){
|
||||
blockers.remove(blocker);
|
||||
if (!blockers.size()) blocked = false;
|
||||
@@ -558,6 +567,8 @@ MTGCardInstance * MTGCardInstance::getNextOpponent(MTGCardInstance * previous){
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int MTGCardInstance::setDefenser(MTGCardInstance * opponent){
|
||||
GameObserver * g = GameObserver::GetInstance();
|
||||
if (defenser) {
|
||||
|
||||
Reference in New Issue
Block a user