#ifndef _BLOCKER_H_ #define _BLOCKER_H_ #define MAX_BLOCKERS 64 // Currently needs to be equal to MAX_GUI_OBJECTS in JGE/JGui.h. #include "MTGAbility.h" class ManaCost; class GameObserver; class MTGAbility; class UntapBlocker : public MTGAbility { protected: ManaCost * manaCost; int currentPhase; void init(ManaCost * _cost); public: virtual ManaCost * untapManaCost(){return manaCost;}; virtual int unblock(){return 1;}; UntapBlocker(int id, MTGCardInstance * card, ManaCost * _cost); UntapBlocker(int id, MTGCardInstance * card); UntapBlocker(int id, MTGCardInstance * card, MTGCardInstance *_target); UntapBlocker(int id, MTGCardInstance * card, MTGCardInstance *_target, ManaCost * _cost); ~UntapBlocker(); virtual void Update(float dt); virtual int destroy(); virtual UntapBlocker * clone() const; }; class UntapBlockers { protected: int cursor; int blockers[MAX_BLOCKERS]; GameObserver * game; public: UntapBlockers(); ~UntapBlockers(); int Add (UntapBlocker * ability); int Remove (UntapBlocker * ability); int init(); UntapBlocker * next(); int rewind(); int isEmpty(); }; #include "ManaCost.h" #include "GameObserver.h" #endif