Files
wagic/projects/mtg/src/MTGGamePhase.cpp
jean.chalard 56ce4a14ae J :
* Create the subsystem for keybindings.
2010-02-14 13:21:12 +00:00

57 lines
1.3 KiB
C++

#include "../include/config.h"
#include "../include/MTGGamePhase.h"
MTGGamePhase::MTGGamePhase(int id):ActionElement(id){
animation = 0;
currentState = -1;
mFont= resources.GetJLBFont("simon");
mFont->SetBase(0); // using 2nd font
}
void MTGGamePhase::Update(float dt){
int newState = GameObserver::GetInstance()->getCurrentGamePhase();
if (newState != currentState){
activeState = ACTIVE;
animation = 4;
currentState = newState;
}
if (animation > 0){
animation -- ;
}else{
activeState = INACTIVE;
animation = 0;
}
}
bool MTGGamePhase::CheckUserInput(u32 key){
GameObserver * game = GameObserver::GetInstance();
if (activeState == INACTIVE){
u32 trigger = (options[Options::REVERSETRIGGERS].number ? JGE_BTN_NEXT : JGE_BTN_PREV);
if ((trigger == key) && game->currentActionPlayer == game->currentlyActing())
{
activeState = ACTIVE;
game->userRequestNextGamePhase();
return true;
}
}
return false;
}
MTGGamePhase * MTGGamePhase::clone() const{
MTGGamePhase * a = NEW MTGGamePhase(*this);
a->isClone = 1;
return a;
}
ostream& MTGGamePhase::toString(ostream& out) const
{
return out << "MTGGamePhase ::: animation " << animation << " ; currentState : " << currentState;
}