TODO is now in the wiki
[supertux.git] / src / badguy / dispenser.cpp
index b88ec20..0a92074 100644 (file)
@@ -6,25 +6,24 @@
 #include "badguy/mrbomb.h"
 #include "badguy/mriceblock.h"
 
-
-Dispenser::Dispenser(LispReader& reader)
+Dispenser::Dispenser(const lisp::Lisp& reader)
 {
-  reader.read_float("x", start_position.x);
-  reader.read_float("y", start_position.y);
-  reader.read_float("cycle", cycle);
-  reader.read_string("badguy", badguy);
+  reader.get("x", start_position.x);
+  reader.get("y", start_position.y);
+  reader.get("cycle", cycle);
+  reader.get("badguy", badguy);
   bbox.set_size(32, 32);
   sprite = sprite_manager->create("dispenser");
   sprite->set_action("working");
 }
 
 void
-Dispenser::write(LispWriter& writer)
+Dispenser::write(lisp::Writer& writer)
 {
   writer.start_list("dispenser");
 
-  writer.write_float("x", get_pos().x);
-  writer.write_float("y", get_pos().y);
+  writer.write_float("x", start_position.x);
+  writer.write_float("y", start_position.y);
   writer.write_float("cycle", cycle);
   writer.write_string("badguy", badguy);
 
@@ -93,3 +92,4 @@ Dispenser::launch_badguy()
   }
 }
 
+IMPLEMENT_FACTORY(Dispenser, "dispenser")