40 lines
909 B
C++
40 lines
909 B
C++
#ifndef _GROUPOFCARDS_H_
|
|
#define _GROUPOFCARDS_H_
|
|
|
|
#include "GameObserver.h"
|
|
#include "MTGCardInstance.h"
|
|
|
|
#define FILTER_SUBTYPE 1
|
|
|
|
#define GROUP_LIMIT 10
|
|
|
|
class GroupOfCards{
|
|
protected:
|
|
GameObserver * game;
|
|
public:
|
|
GroupOfCards(GameObserver * _game);
|
|
//virtual ~GroupOfCards();
|
|
virtual int includes(MTGCardInstance * card){return 0;};
|
|
};
|
|
|
|
class GroupOfCreatures:public GroupOfCards{
|
|
protected:
|
|
int filter;
|
|
int filterValue;
|
|
public:
|
|
GroupOfCreatures(GameObserver * _game, int _filter, int _filterValue);
|
|
int includes(MTGCardInstance * card);
|
|
};
|
|
|
|
class GroupOfSpecificCards:public GroupOfCards{
|
|
protected:
|
|
int nb_cards;
|
|
MTGCardInstance * cards[GROUP_LIMIT];
|
|
public:
|
|
int includes(MTGCardInstance * card);
|
|
GroupOfSpecificCards(GameObserver * _game, MTGCardInstance * _creatures[], int _nb_creatures);
|
|
GroupOfSpecificCards(GameObserver * _game, MTGCardInstance * card);
|
|
};
|
|
|
|
#endif
|