ActionElement.h: Replace defines, remove superfluous ";"

Defines do not follow scope rules, but enums do. Enum classes
even utilize strong type checking (but i am not sure about compiler
support for c++11 on all target platforms).
This commit is contained in:
Tobias Loose
2013-11-17 16:08:29 +01:00
parent c6dc51c7d3
commit 146872797b
3 changed files with 15 additions and 28 deletions

View File

@@ -9,10 +9,6 @@
#include <JGui.h>
#include "MTGDefinitions.h"
#define INACTIVE 0
#define ACTION_REQUESTED 1
#define ACTIVE 2
class MTGCardInstance;
class ManaCost;
class Targetable;
@@ -22,31 +18,33 @@ class WEvent;
class ActionElement: public JGuiObject
{
protected:
int activeState;
enum Activity{
Inactive,
ActionRequested,
Active
};
Activity activity;
TargetChooser * tc;
public:
GamePhase currentPhase;
GamePhase newPhase;
int modal;
int waitingForAnswer;
int getActivity();
virtual void Update(float){};
virtual void Render(){};
virtual void Update(float){}
virtual void Render(){}
virtual int testDestroy()
{
return 0;
}
;
virtual int destroy()
{
return 0;
}
;
virtual bool CheckUserInput(JButton)
{
return false;
}
;
ActionElement(int id);
ActionElement(const ActionElement& copyFromMe);
TargetChooser * getActionTc(){return tc;}
@@ -62,27 +60,22 @@ public:
{
return 0;
}
;
virtual int stillInUse(MTGCardInstance *)
{
return 0;
}
;
virtual int receiveEvent(WEvent *)
{
return 0;
}
;
virtual int reactToClick(MTGCardInstance *)
{
return 0;
}
;
virtual const char * getMenuText()
{
return "Ability";
}
;
virtual ActionElement * clone() const = 0;
};

View File

@@ -8,7 +8,7 @@
ActionElement::ActionElement(int id) :
JGuiObject(id)
{
activeState = INACTIVE;
activity = Inactive;
modal = 0;
waitingForAnswer = 0;
currentPhase = MTG_PHASE_INVALID;
@@ -18,7 +18,7 @@ ActionElement::ActionElement(int id) :
ActionElement::ActionElement(const ActionElement& a): JGuiObject(a)
{
activeState = a.activeState;
activity = a.activity;
tc = a.tc ? a.tc->clone() : NULL;
currentPhase = a.currentPhase;
newPhase = a.newPhase;
@@ -31,12 +31,6 @@ ActionElement::~ActionElement()
SAFE_DELETE(tc);
}
int ActionElement::getActivity()
{
return activeState;
}
int ActionElement::isReactingToTargetClick(Targetable * object)
{
if (MTGCardInstance * cObject = dynamic_cast<MTGCardInstance *>(object))

View File

@@ -17,7 +17,7 @@ void MTGGamePhase::Update(float)
int newState = observer->getCurrentGamePhase();
if (newState != currentState)
{
activeState = ACTIVE;
activity = Active;
animation = 4;
currentState = newState;
}
@@ -28,18 +28,18 @@ void MTGGamePhase::Update(float)
}
else
{
activeState = INACTIVE;
activity = Inactive;
animation = 0;
}
}
bool MTGGamePhase::NextGamePhase()
{
if (activeState == INACTIVE)
if (activity == Inactive)
{
if (observer->currentActionPlayer == observer->currentlyActing())
{
activeState = ACTIVE;
activity = Active;
observer->userRequestNextGamePhase();
return true;
}