#include "mole_rock.hpp"
+#include "lisp/writer.hpp"
+#include "object_factory.hpp"
+#include "audio/sound_manager.hpp"
+#include "sprite/sprite.hpp"
+
MoleRock::MoleRock(const lisp::Lisp& reader)
- : BadGuy(reader, "images/creatures/mole/mole_rock.sprite", LAYER_TILES - 2), parent(0), initial_velocity(Vector(0, -400))
+ : BadGuy(reader, "images/creatures/mole/mole_rock.sprite", LAYER_TILES - 2), parent(0), initial_velocity(Vector(0, -400))
{
- physic.gravity_enabled = true;
+ physic.enable_gravity(true);
countMe = false;
+ sound_manager->preload("sounds/fall.wav");
+ sound_manager->preload("sounds/stomp.wav");
}
MoleRock::MoleRock(const Vector& pos, const Vector& velocity, const BadGuy* parent = 0)
- : BadGuy(pos, LEFT, "images/creatures/mole/mole_rock.sprite", LAYER_TILES - 2), parent(parent), initial_velocity(velocity)
+ : BadGuy(pos, LEFT, "images/creatures/mole/mole_rock.sprite", LAYER_TILES - 2), parent(parent), initial_velocity(velocity)
{
- physic.gravity_enabled = true;
+ physic.enable_gravity(true);
countMe = false;
+ sound_manager->preload("sounds/fall.wav");
+ sound_manager->preload("sounds/stomp.wav");
}
MoleRock::MoleRock(const MoleRock& other)
- : BadGuy(other), parent(other.parent), initial_velocity(Vector(0, -400))
+ : BadGuy(other), parent(other.parent), initial_velocity(Vector(0, -400))
{
+ sound_manager->preload("sounds/fall.wav");
+ sound_manager->preload("sounds/stomp.wav");
}
MoleRock::~MoleRock()
MoleRock::write(lisp::Writer& writer)
{
writer.start_list("mole_rock");
- writer.write_float("x", start_position.x);
- writer.write_float("y", start_position.y);
+ writer.write("x", start_position.x);
+ writer.write("y", start_position.y);
writer.end_list("mole_rock");
}
void
-MoleRock::activate()
+MoleRock::initialize()
{
- physic.vx = initial_velocity.x;
- physic.vy = initial_velocity.y;
+ physic.set_velocity(initial_velocity);
sprite->set_action("default");
}