Files
wagic/projects/mtg/src/MTGGamePhase.cpp
Anthony Calosa 4da7f77089 Cleanup tabs
2016-07-07 13:25:36 +08:00

71 lines
1.4 KiB
C++

#include "PrecompiledHeader.h"
#include "MTGGamePhase.h"
#include "GuiPhaseBar.h"
MTGGamePhase::MTGGamePhase(GameObserver* g, int id) :
ActionElement(id), observer(g)
{
animation = 0;
currentState = -1;
mFont = WResourceManager::Instance()->GetWFont(Fonts::MAIN_FONT);
if(mFont)
mFont->SetBase(0); // using 2nd font
}
void MTGGamePhase::Update(float)
{
int newState = observer->getCurrentGamePhase();
if (newState != currentState)
{
activity = Active;
animation = 4;
currentState = newState;
}
if (animation > 0)
{
animation--;
}
else
{
activity = Inactive;
animation = 0;
}
}
bool MTGGamePhase::NextGamePhase()
{
if (activity == Inactive)
{
if (observer->currentActionPlayer == observer->currentlyActing())
{
activity = Active;
observer->userRequestNextGamePhase();
return true;
}
}
return false;
}
bool MTGGamePhase::CheckUserInput(JButton key)
{
JButton trigger = (options[Options::REVERSETRIGGERS].number ? JGE_BTN_NEXT : JGE_BTN_PREV);
if (trigger == key)
{
return NextGamePhase();
}
return false;
}
MTGGamePhase * MTGGamePhase::clone() const
{
return NEW MTGGamePhase(*this);
}
ostream& MTGGamePhase::toString(ostream& out) const
{
return out << "MTGGamePhase ::: animation " << animation << " ; currentState : " << currentState;
}