-}
-
-//---------------------------------------------------------------------------
-
-BonusBlock::BonusBlock(const Vector& pos, int data)
- : Block(sprite_manager->create("bonusblock"))
-{
- bbox.set_pos(pos);
- sprite->set_action("default");
- switch(data) {
- case 1: contents = CONTENT_COIN; break;
- case 2: contents = CONTENT_FIREGROW; break;
- case 3: contents = CONTENT_STAR; break;
- case 4: contents = CONTENT_1UP; break;
- case 5: contents = CONTENT_ICEGROW; break;
- default:
- std::cerr << "Invalid box contents!\n";
- contents = CONTENT_COIN;
- break;
- }
-}
-
-BonusBlock::BonusBlock(const lisp::Lisp& lisp)
- : Block(sprite_manager->create("bonusblock"))
-{
- Vector pos;
- lisp.get("x", pos.x);
- lisp.get("y", pos.y);
- bbox.set_pos(pos);
-
- std::string contentstring;
- contents = CONTENT_COIN;
- if(lisp.get("contents", contentstring)) {
- if(contentstring == "coin") {
- contents = CONTENT_COIN;
- } else if(contentstring == "firegrow") {
- contents = CONTENT_FIREGROW;
- } else if(contentstring == "icegrow") {
- contents = CONTENT_ICEGROW;
- } else if(contentstring == "star") {
- contents = CONTENT_STAR;
- } else if(contentstring == "1up") {
- contents = CONTENT_1UP;
- } else {
- std::cerr << "Invalid box contents '" << contentstring << "'.\n";
- }
- }
-}
-
-void
-BonusBlock::hit(Player& )
-{
- try_open();
-}