Files
wagic/projects/mtg/include/DuelLayers.h
Xawotihs 9adb9d625d - 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.
2011-10-01 13:30:30 +00:00

57 lines
1.1 KiB
C++

#ifndef _DUELLAYERS_H_
#define _DUELLAYERS_H_
#include "GuiLayers.h"
class MTGGuiHand;
class MTGGuiPlay;
class ActionLayer;
class ActionStack;
class DamageResolverLayer;
class GuiHandSelf;
class GuiHandOpponent;
class GuiCombat;
class GuiAvatars;
class CardSelectorBase;
struct Pos;
class DuelLayers
{
protected:
int nbitems;
vector<GuiLayer*> objects;
vector<Pos*> waiters;
GuiCombat* combat;
ActionLayer* action;
ActionStack* stack;
GuiHandSelf *hand;
GuiAvatars * avatars;
public:
DuelLayers();
~DuelLayers();
ActionLayer * actionLayer();
ActionStack * stackLayer();
GuiCombat * combatLayer();
GuiAvatars * GetAvatars();
void init(GameObserver* go);
virtual void Update(float dt, Player * player);
void CheckUserInput(int isAI);
void Render();
void Add(GuiLayer * layer);
void Remove();
int receiveEvent(WEvent * e);
float RightBoundary();
CardSelectorBase* mCardSelector;
};
#include "ActionLayer.h"
#include "GameObserver.h"
#include "MTGGamePhase.h"
#include "ActionStack.h"
#include "Damage.h"
#endif