#include "object/moving_sprite.hpp"
#include "sprite/sprite.hpp"
#include "sprite/sprite_manager.hpp"
+#include "util/reader.hpp"
-MovingSprite::MovingSprite(const Vector& pos, const std::string& sprite_name, int layer, CollisionGroup collision_group)
- : sprite_name(sprite_name), layer(layer)
+MovingSprite::MovingSprite(const Vector& pos, const std::string& sprite_name,
+ int layer, CollisionGroup collision_group) :
+ sprite_name(sprite_name),
+ sprite(),
+ layer(layer)
{
bbox.set_pos(pos);
sprite = sprite_manager->create(sprite_name);
set_group(collision_group);
}
-MovingSprite::MovingSprite(const Reader& reader, const Vector& pos, int layer, CollisionGroup collision_group)
- : layer(layer)
+MovingSprite::MovingSprite(const Reader& reader, const Vector& pos, int layer, CollisionGroup collision_group) :
+ sprite_name(sprite_name),
+ sprite(),
+ layer(layer)
{
bbox.set_pos(pos);
if (!reader.get("sprite", sprite_name))
set_group(collision_group);
}
-MovingSprite::MovingSprite(const Reader& reader, const std::string& sprite_name, int layer, CollisionGroup collision_group)
- : sprite_name(sprite_name), layer(layer)
+MovingSprite::MovingSprite(const Reader& reader, const std::string& sprite_name, int layer, CollisionGroup collision_group) :
+ sprite_name(sprite_name),
+ sprite(),
+ layer(layer)
{
reader.get("x", bbox.p1.x);
reader.get("y", bbox.p1.y);
set_group(collision_group);
}
-MovingSprite::MovingSprite(const Reader& reader, int layer, CollisionGroup collision_group)
- : layer(layer)
+MovingSprite::MovingSprite(const Reader& reader, int layer, CollisionGroup collision_group) :
+ sprite_name(),
+ sprite(),
+ layer(layer)
{
reader.get("x", bbox.p1.x);
reader.get("y", bbox.p1.y);
MovingSprite::MovingSprite(const MovingSprite& other) :
MovingObject(other),
+ sprite_name(),
+ sprite(),
layer(other.layer)
{
sprite.reset(new Sprite(*other.sprite));