#include "states/PerformAttacks.h"
#include "../app/Application.h"
#include "../app/Input.h"
+#include "../common/GameState.h"
#include "../common/Ikari.h"
#include "../common/Inventory.h"
#include "../common/Item.h"
using common::Inventory;
using common::Item;
using common::Spell;
+using common::Stats;
using geometry::Vector;
using graphics::Menu;
}
-void BattleState::Resize(int w, int h) {
+void BattleState::OnResize(int w, int h) {
}
-void BattleState::EnterState(Application &ctrl, SDL_Surface *screen) {
+void BattleState::OnEnterState(SDL_Surface *screen) {
for (int i(0); i < 4; ++i) {
heroes[i].Position() = heroesLayout->CalculatePosition(i, background->w, background->h);
heroes[i].SpellMenu() = *res->spellMenuProperties;
}
void BattleState::LoadInventory() {
- const Inventory &inv(*res->inventory);
+ const Inventory &inv(game->state->inventory);
itemMenu.Clear();
itemMenu.Reserve(inv.MaxItems());
for (int i(0); i < inv.MaxItems(); ++i) {
ClearAllAttacks();
}
-void BattleState::ExitState(Application &ctrl, SDL_Surface *screen) {
+void BattleState::OnExitState(SDL_Surface *screen) {
}
-void BattleState::ResumeState(Application &ctrl, SDL_Surface *screen) {
+void BattleState::OnResumeState(SDL_Surface *screen) {
if (ranAway) {
- ctrl.PopState(); // quit the battle scene
+ Ctrl().PopState(); // quit the battle scene
return;
}
if (Victory()) {
- ctrl.PopState();
+ Ctrl().PopState();
return;
}
if (Defeat()) {
- ctrl.PopState();
+ Ctrl().PopState();
return;
}
// TODO: this should not push a state while quitting
if (AttackSelectionDone()) {
- ctrl.PushState(new PerformAttacks(this));
+ Ctrl().PushState(new PerformAttacks(this));
} else {
- ctrl.PushState(new SelectMoveAction(this));
+ Ctrl().PushState(new SelectMoveAction(this));
}
}
return true;
}
-void BattleState::PauseState(Application &ctrl, SDL_Surface *screen) {
+void BattleState::OnPauseState(SDL_Surface *screen) {
}