Files
wagic/projects/mtg/include/DamageResolverLayer.h
wagic.the.homebrew@gmail.com d52f06d98d Erwan
- Magic 2010 - blockers ordering
- Fixed a memory leak introduced in a previous revision (foreach)
2009-07-04 04:15:05 +00:00

52 lines
1.4 KiB
C++

#ifndef _DAMAGERESOLVERLAYER_H_
#define _DAMAGERESOLVERLAYER_H_
#include "../include/PlayGuiObjectController.h"
class MTGCardInstance;
class DamagerDamaged;
class DamageStack;
class DamageResolverLayer:public PlayGuiObjectController{
protected:
int trampleDamage();
void updateAllCoordinates();
public:
int buttonOk;
int orderingIsNeeded;
int currentPhase;
int remainingDamageSteps;
Player * currentChoosingPlayer;
DamageStack * damageStack;
DamagerDamaged * currentSource;
DamageResolverLayer(int id, GameObserver* _game);
int init();
int initResolve();
Player * whoSelectsDamagesDealtBy(MTGCardInstance * card);
int addAutoDamageToOpponents(MTGCardInstance * card);
DamagerDamaged * addIfNotExists(MTGCardInstance * card, Player * selecter);
int addDamager(MTGCardInstance * card, Player * selecter);
int updateCoordinates(MTGCardInstance * card);
DamagerDamaged * findByCard(MTGCardInstance * card);
int canStopDealDamages();
int resolveDamages();
int isOpponent(DamagerDamaged * a, DamagerDamaged * b);
int nextPlayer();
virtual void Update(float dt);
virtual bool CheckUserInput(u32 key);
virtual void Render();
int isDisplayed(){return mCount;};
int autoOrderBlockers();
bool blockersOrderingDone();
bool clickDamage(DamagerDamaged * current);
bool clickDamage(MTGCardInstance * c);
bool clickReorderBlocker(MTGCardInstance * blocker);
bool checkUserInputOrderBlockers(u32 key);
};
#endif