2#include "../definitions.hpp"
3#include "../../services/services.hpp"
4#include "../../services/input/keycode.hpp"
5#include "../../services/input/input.hpp"
6#include "../ui/definitions.hpp"
8#include <cereal/types/map.hpp>
9#include <cereal/types/vector.hpp>
10#include <cereal/types/string.hpp>
23 virtual void update(
float deltaTime) {};
24 virtual void render(std::shared_ptr<Window> window) {};
34 template <
class Archive>
35 void save(Archive &ar)
const {}
37 template <
class Archive>
102 void render(std::shared_ptr<Window>)
override;
117 template <
class Archive>
123 template <
class Archive>
126 std::cout <<
"LOADING SPRITE" << std::endl;
201 void render(std::shared_ptr<Window>)
override;
202 void update(
float deltaTime)
override;
207 void play(
const std::string &animation);
233 template <
class Archive>
236 std::string currentAnimName = currentAnimation ? currentAnimation->name : std::string(
"");
238 CEREAL_NVP(frame), CEREAL_NVP(playing), currentAnimName);
241 template <
class Archive>
244 std::string currentAnimName;
246 CEREAL_NVP(frame), CEREAL_NVP(playing), currentAnimName);
248 saveCurrentAnimName = currentAnimName;
253 float elapsed = 0.0f;
255 std::unique_ptr<Animation> currentAnimation =
nullptr;
257 std::string saveCurrentAnimName;
259 bool playing =
false;
260 std::shared_ptr<Window> window =
nullptr;
306 template <
typename... Args>
309 (this->tiles.push_back(
tiles), ...);
314 void render(std::shared_ptr<Window>)
override;
318 template <
class Archive>
324 template <
class Archive>
392 virtual void render(std::shared_ptr<Window> window) {};
395 template <
class Archive>
396 void save(Archive &ar)
const {};
398 template <
class Archive>
434 void update(
float deltaTime)
override;
441 template <
class Archive>
447 template <
class Archive>
Definition components.hpp:195
Signal< std::string > stopped
Definition components.hpp:214
void save(Archive &ar) const
Definition components.hpp:234
Signal< std::string > paused
Definition components.hpp:215
Signal< std::string > changed
Definition components.hpp:211
void initialize() override
Definition components.cpp:120
const Texture * getCurrentTexture() const
Definition components.cpp:100
std::string getCurrentAnimationName() const
Definition components.cpp:204
void postLoad()
Definition components.cpp:111
void pause()
Definition components.cpp:175
Signal< std::string > looped
Definition components.hpp:213
bool isPlaying() const
Definition components.cpp:245
Vector2 getCurrentSize() const
Definition components.cpp:197
void addAnimation(const Animation &animation)
Definition components.cpp:139
Animation * getCurrentAnimation() const
Definition components.cpp:211
void removeAnimation(const std::string &name)
Definition components.cpp:144
Signal< std::string > finished
Definition components.hpp:212
bool flipH
Definition components.hpp:217
bool screenSpace
Definition components.hpp:231
void load(Archive &ar)
Definition components.hpp:242
Frame * getCurrentFrame() const
Definition components.cpp:190
void update(float deltaTime) override
Definition components.cpp:218
AnimatedSprite(std::shared_ptr< Window > window)
Definition components.hpp:198
bool visible
Definition components.hpp:229
void play(const std::string &animation)
Definition components.cpp:149
void render(std::shared_ptr< Window >) override
Definition components.cpp:107
std::map< std::string, Animation > animations
Definition components.hpp:228
bool flipV
Definition components.hpp:218
void stop()
Definition components.cpp:181
Definition definitions.hpp:372
Definition components.hpp:427
void initialize() override
Definition components.cpp:28
void load(Archive &ar)
Definition components.hpp:448
void update(float deltaTime) override
Definition components.cpp:36
Vector2 origin
Definition components.hpp:431
void save(Archive &ar) const
Definition components.hpp:442
Transform getCameraTransform() const
Definition components.cpp:50
float smoothing
Definition components.hpp:432
bool active
Definition components.hpp:430
Vector2 screenToWorld(Vector2 screen) const
Definition components.cpp:62
Vector2 getGlobalPosition()
Definition components.cpp:57
void setActive()
Definition components.cpp:22
Definition definitions.hpp:41
static const Color WHITE
Definition definitions.hpp:58
Definition components.hpp:387
virtual void initialize()
Definition components.hpp:390
virtual void physicsUpdate()
Definition components.hpp:391
void save(Archive &ar) const
Definition components.hpp:396
virtual void update(float deltaTime)
Definition components.hpp:389
virtual void render(std::shared_ptr< Window > window)
Definition components.hpp:392
void load(Archive &ar)
Definition components.hpp:399
virtual void exit()
Definition components.hpp:393
Definition components.hpp:96
void postLoad() override
Definition components.cpp:92
bool flipH
Definition components.hpp:114
void load(Archive &ar)
Definition components.hpp:124
Color modulate
Definition components.hpp:112
Rect sourceRect
Definition components.hpp:108
bool screenSpace
Definition components.hpp:111
Texture texture
Definition components.hpp:106
void initialize() override
Definition components.cpp:84
Vector2 origin
Definition components.hpp:105
bool visible
Definition components.hpp:109
void render(std::shared_ptr< Window >) override
Definition components.cpp:80
void save(Archive &ar) const
Definition components.hpp:118
bool flipV
Definition components.hpp:115
Definition definitions.hpp:154
Definition components.hpp:289
bool visible
Definition components.hpp:294
void addTiles(Args... tiles)
Definition components.hpp:307
void save(Archive &ar) const
Definition components.hpp:319
std::vector< int > indexBuffer
Definition components.hpp:301
void removeTile(int index)
Definition components.cpp:308
void load(Archive &ar)
Definition components.hpp:325
void initialize()
Definition components.hpp:315
Texture texture
Definition components.hpp:295
std::vector< SDL_Vertex > vertexBuffer
Definition components.hpp:300
void bake()
Definition components.cpp:262
int addTile(const Tile &tile)
Definition components.cpp:301
std::vector< Tile > tiles
Definition components.hpp:297
Vector2 tileSize
Definition components.hpp:296
void render(std::shared_ptr< Window >) override
Definition components.cpp:252
void update()
Definition components.cpp:295
TextureScaling
Definition definitions.hpp:122
Definition components.hpp:21
void save(Archive &ar) const
Definition components.hpp:35
virtual void update(float deltaTime)
Definition components.hpp:23
virtual void physicsUpdate()
Definition components.hpp:26
void setNode(Node *n)
Definition components.cpp:16
virtual void exit()
Definition components.hpp:29
virtual void initialize()
Definition components.hpp:25
virtual void render(std::shared_ptr< Window > window)
Definition components.hpp:24
virtual void postLoad()
Definition components.hpp:28
Node * getNode() const
Definition components.cpp:11
void load(Archive &ar)
Definition components.hpp:38
virtual void input(InputEvent &event)
Definition components.hpp:27
virtual ~Component()=default
Definition definitions.hpp:324
Definition definitions.hpp:294
Definition definitions.hpp:509
Definition definitions.hpp:77