- reworked the testsuite and the rules (storyflow) to use the same game deserialization code, moved that code to the players and zone classes

- removed every references to the gameobserver singleton. This object can now be instantiated several times as it's needed for minmax. To be able to do that, I mostly added a reference to a gameobserver from any targetable object (cards, players, spells) and abilities.
This commit is contained in:
Xawotihs
2011-10-01 13:30:30 +00:00
parent d6db0c4f63
commit 9adb9d625d
86 changed files with 1902 additions and 1961 deletions

View File

@@ -32,8 +32,8 @@ HandLimitor::HandLimitor(GuiHand* hand) :
{
}
GuiHand::GuiHand(MTGHand* hand) :
GuiLayer(), hand(hand)
GuiHand::GuiHand(GameObserver* observer, MTGHand* hand) :
GuiLayer(observer), hand(hand)
{
back = WResourceManager::Instance()->RetrieveTempQuad("handback.png");
if (back.get())
@@ -61,8 +61,8 @@ bool GuiHand::isInHand(CardView* card)
return (it != cards.end());
}
GuiHandOpponent::GuiHandOpponent(MTGHand* hand) :
GuiHand(hand)
GuiHandOpponent::GuiHandOpponent(GameObserver* observer, MTGHand* hand) :
GuiHand(observer, hand)
{
}
@@ -81,8 +81,8 @@ void GuiHandOpponent::Render()
}
}
GuiHandSelf::GuiHandSelf(MTGHand* hand) :
GuiHand(hand), state(Closed), backpos(ClosedX, SCREEN_HEIGHT - 250, 1.0, 0, 255)
GuiHandSelf::GuiHandSelf(GameObserver* observer, MTGHand* hand) :
GuiHand(observer, hand), state(Closed), backpos(ClosedX, SCREEN_HEIGHT - 250, 1.0, 0, 255)
{
limitor = NEW HandLimitor(this);
if (OptionHandDirection::HORIZONTAL == options[Options::HANDDIRECTION].number)