Files
wagic/projects/mtg/src/MTGGamePhase.cpp
T

65 lines
1.4 KiB
C++

#include "PrecompiledHeader.h"
#include "MTGGamePhase.h"
MTGGamePhase::MTGGamePhase(int id) :
ActionElement(id)
{
animation = 0;
currentState = -1;
mFont = WResourceManager::Instance()->GetWFont(Fonts::MAIN_FONT);
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(JButton key)
{
GameObserver * game = GameObserver::GetInstance();
if (activeState == INACTIVE)
{
JButton 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;
}