Files
wagic/projects/mtg/include/ThisDescriptor.h
techdragon.nguyen@gmail.com e53c16f700 No code change just reformatting of header files.
finishing up my reformatting of the source from November/December following the guidelines that were posted.
some extra things I added:
   * Any empty virtual declarations were kept to one line.  
   * Enums were split up into separate lines to promote uniformity across all headers. ( each header file had a different style for enums)
2011-01-21 18:01:14 +00:00

112 lines
2.1 KiB
C++

/*
Filter-like system for determining if a card meats certain criteria, for this and thisforeach autos
*/
#ifndef _THISDESCRIPTOR_H_
#define _THISDESCRIPTOR_H_
#include "Counters.h"
#include "MTGGameZones.h"
#include "MTGCardInstance.h"
#include "CardDescriptor.h"
class ThisDescriptor
{
public:
int comparisonMode;
int comparisonCriterion;
virtual int match(MTGCardInstance * card) = 0;
int matchValue(int value);
virtual ~ThisDescriptor();
};
class ThisDescriptorFactory
{
public:
ThisDescriptor * createThisDescriptor(string s);
};
class ThisCounter: public ThisDescriptor
{
public:
Counter * counter;
virtual int match(MTGCardInstance * card);
ThisCounter(Counter * _counter);
ThisCounter(int power, int toughness, int nb, const char * name);
~ThisCounter();
};
class ThisCounterAny: public ThisDescriptor
{
public:
virtual int match(MTGCardInstance *card);
ThisCounterAny(int nb);
};
class ThisControllerlife: public ThisDescriptor
{
public:
virtual int match(MTGCardInstance * card);
ThisControllerlife(int life);
};
class ThisOpponentlife: public ThisDescriptor
{
public:
virtual int match(MTGCardInstance * card);
ThisOpponentlife(int olife);
};
class ThisEquip: public ThisDescriptor
{
public:
virtual int match(MTGCardInstance * card);
ThisEquip(int equipment);
};
class ThisAttacked: public ThisDescriptor
{
public:
virtual int match(MTGCardInstance * card);
ThisAttacked(int attack);
};
class ThisNotBlocked: public ThisDescriptor
{
public:
virtual int match(MTGCardInstance * card);
ThisNotBlocked(int unblocked);
};
class ThisPower: public ThisDescriptor
{
public:
virtual int match(MTGCardInstance * card);
ThisPower(int power);
};
class ThisToughness: public ThisDescriptor
{
public:
virtual int match(MTGCardInstance * card);
ThisToughness(int toughness);
};
class ThisX: public ThisDescriptor
{
public:
virtual int match(MTGCardInstance * card);
ThisX(int x);
};
#endif