#include "object/camera.hpp"
#include "object/magicblock.hpp"
#include "sprite/sprite.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
#include "supertux/object_factory.hpp"
#include "supertux/sector.hpp"
+#include "util/reader.hpp"
namespace {
const float MIN_INTENSITY = 0.8f;
const float SWITCH_DELAY = 0.1f; /**< seconds to wait for stable conditions until switching solidity */
}
-MagicBlock::MagicBlock(const Reader& lisp)
- : MovingSprite(lisp, "images/objects/magicblock/magicblock.sprite"),
- is_solid(false), solid_time(0), switch_delay(0), light(1.0f,1.0f,1.0f)
+MagicBlock::MagicBlock(const Reader& lisp) :
+ MovingSprite(lisp, "images/objects/magicblock/magicblock.sprite"),
+ is_solid(false),
+ trigger_red(),
+ trigger_green(),
+ trigger_blue(),
+ solid_time(0),
+ switch_delay(0),
+ color(),
+ light(1.0f,1.0f,1.0f),
+ center(),
+ black()
{
set_group(COLGROUP_STATIC);
//get color from lisp
solid_time+=elapsed_time;
color.alpha = ALPHA_SOLID;
sprite->set_action("solid");
+ set_group(COLGROUP_STATIC);
} else {
color.alpha = ALPHA_NONSOLID;
sprite->set_action("normal");
+ set_group(COLGROUP_DISABLED);
}
}
HitResponse
MagicBlock::collision(GameObject& /*other*/, const CollisionHit& /*hit*/)
{
- return SOLID;
+ return FORCE_MOVE;
}
-IMPLEMENT_FACTORY(MagicBlock, "magicblock");
-
/* EOF */