#include "../app/State.h"
#include "../geometry/Point.h"
#include "../geometry/Vector.h"
-#include "../graphics/Animation.h"
#include "../graphics/Menu.h"
+#include "../graphics/SimpleAnimation.h"
#include <vector>
#include <SDL.h>
Monster &MonsterAt(int index) { return monsters[index]; }
const Monster &MonsterAt(int index) const { return monsters[index]; }
- graphics::Animation &HeroAnimationAt(int index) { return heroAnimations[index]; }
- const graphics::Animation &HeroAnimationAt(int index) const { return heroAnimations[index]; }
+ graphics::SimpleAnimation &HeroAnimationAt(int index) { return heroAnimations[index]; }
+ const graphics::SimpleAnimation &HeroAnimationAt(int index) const { return heroAnimations[index]; }
const HeroTag &HeroTagAt(int index) const { return heroTags[index]; }
const geometry::Point<int> &HeroTagPositionAt(int index) const { return heroTagPositions[index]; }
std::vector<geometry::Point<int> > heroesPositions;
std::vector<Monster> monsters;
Hero heroes[4];
- graphics::Animation heroAnimations[4];
+ graphics::SimpleAnimation heroAnimations[4];
graphics::Menu<const common::Spell *> spellMenus[4];
graphics::Menu<const common::Item *> itemMenu;
graphics::Menu<const common::Item *> ikariMenus[4];
#include "../../common/Spell.h"
#include "../../geometry/operators.h"
#include "../../geometry/Point.h"
-#include "../../graphics/Animation.h"
#include "../../graphics/Font.h"
#include "../../graphics/Frame.h"
+#include "../../graphics/SimpleAnimation.h"
#include <cstring>
using app::Input;
using geometry::Point;
using geometry::Vector;
-using graphics::Animation;
+using graphics::SimpleAnimation;
namespace battle {
switch (ac.GetType()) {
case AttackChoice::SWORD:
- battle->HeroAnimationAt(cursor) = Animation(
+ battle->HeroAnimationAt(cursor) = SimpleAnimation(
battle->HeroAt(cursor).Sprite(),
battle->HeroAt(cursor).AttackFrameTime(),
battle->HeroAt(cursor).AttackFrames(), 2);
break;
case AttackChoice::MAGIC:
- battle->HeroAnimationAt(cursor) = Animation(
+ battle->HeroAnimationAt(cursor) = SimpleAnimation(
battle->HeroAt(cursor).Sprite(),
battle->HeroAt(cursor).SpellFrameTime(),
battle->HeroAt(cursor).SpellFrames(), 3);
case AttackChoice::IKARI:
if (ac.GetItem()->HasIkari()) {
if (ac.GetItem()->GetIkari()->IsMagical()) {
- battle->HeroAnimationAt(cursor) = Animation(
+ battle->HeroAnimationAt(cursor) = SimpleAnimation(
battle->HeroAt(cursor).Sprite(),
battle->HeroAt(cursor).SpellFrameTime(),
battle->HeroAt(cursor).SpellFrames(), 3);
} else {
- battle->HeroAnimationAt(cursor) = Animation(
+ battle->HeroAnimationAt(cursor) = SimpleAnimation(
battle->HeroAt(cursor).Sprite(),
battle->HeroAt(cursor).AttackFrameTime(),
battle->HeroAt(cursor).AttackFrames(), 2);
+++ /dev/null
-/*
- * Animation.h
- *
- * Created on: Aug 11, 2012
- * Author: holy
- */
-
-#ifndef GRAPHICS_ANIMATION_H_
-#define GRAPHICS_ANIMATION_H_
-
-#include "Sprite.h"
-#include "../app/Application.h"
-#include "../app/State.h"
-#include "../app/Timer.h"
-#include "../geometry/Point.h"
-
-#include <SDL.h>
-
-namespace graphics {
-
-class Animation {
-
-public:
- Animation()
- : sprite(0), frameTime(0), numFrames(0), col(0), row(0), repeat(false) { }
- Animation(const Sprite *sprite, int frameTime, int numFrames, int col = 0, int row = 0, bool repeat = false)
- : sprite(sprite), frameTime(frameTime), numFrames(numFrames), col(col), row(row), repeat(repeat) { }
-
-public:
- void Start(app::State &ctrl) {
- timer = ctrl.GraphicsTimers().StartInterval(frameTime);
- }
- void Start(app::Application &ctrl) {
- timer = ctrl.GlobalTimers().StartInterval(frameTime);
- }
- void Stop() {
- timer = app::Timer<Uint32>();
- }
- bool Running() const {
- return timer.Running() && (repeat || timer.Iteration() < numFrames);
- }
- void Draw(SDL_Surface *dest, geometry::Point<int> position) {
- sprite->Draw(dest, position, col, Running() ? row + (timer.Iteration() % numFrames) : row);
- }
- void DrawCenterBottom(SDL_Surface *dest, geometry::Point<int> position) const {
- sprite->DrawCenterBottom(dest, position, col, Running() ? row + (timer.Iteration() % numFrames) : row);
- }
-
-private:
- const Sprite *sprite;
- app::Timer<Uint32> timer;
- int frameTime;
- int numFrames;
- int col;
- int row;
- bool repeat;
-
-};
-
-}
-
-#endif /* GRAPHICS_ANIMATION_H_ */
--- /dev/null
+/*
+ * SimpleAnimation.h
+ *
+ * Created on: Aug 11, 2012
+ * Author: holy
+ */
+
+#ifndef GRAPHICS_SIMPLEANIMATION_H_
+#define GRAPHICS_SIMPLEANIMATION_H_
+
+#include "Sprite.h"
+#include "../app/Application.h"
+#include "../app/State.h"
+#include "../app/Timer.h"
+#include "../geometry/Point.h"
+
+#include <SDL.h>
+
+namespace graphics {
+
+class SimpleAnimation {
+
+public:
+ SimpleAnimation()
+ : sprite(0), frameTime(0), numFrames(0), col(0), row(0), repeat(false) { }
+ SimpleAnimation(const Sprite *sprite, int frameTime, int numFrames, int col = 0, int row = 0, bool repeat = false)
+ : sprite(sprite), frameTime(frameTime), numFrames(numFrames), col(col), row(row), repeat(repeat) { }
+
+public:
+ void Start(app::State &ctrl) {
+ timer = ctrl.GraphicsTimers().StartInterval(frameTime);
+ }
+ void Start(app::Application &ctrl) {
+ timer = ctrl.GlobalTimers().StartInterval(frameTime);
+ }
+ void Stop() {
+ timer = app::Timer<Uint32>();
+ }
+ bool Running() const {
+ return timer.Running() && (repeat || timer.Iteration() < numFrames);
+ }
+ void Draw(SDL_Surface *dest, geometry::Point<int> position) {
+ sprite->Draw(dest, position, col, Running() ? row + (timer.Iteration() % numFrames) : row);
+ }
+ void DrawCenterBottom(SDL_Surface *dest, geometry::Point<int> position) const {
+ sprite->DrawCenterBottom(dest, position, col, Running() ? row + (timer.Iteration() % numFrames) : row);
+ }
+
+private:
+ const Sprite *sprite;
+ app::Timer<Uint32> timer;
+ int frameTime;
+ int numFrames;
+ int col;
+ int row;
+ bool repeat;
+
+};
+
+}
+
+#endif /* GRAPHICS_SIMPLEANIMATION_H_ */