made badguy dispenser cycle configurable in level file
authorMarek Moeckel <wansti@gmx.de>
Wed, 24 Nov 2004 17:45:26 +0000 (17:45 +0000)
committerMarek Moeckel <wansti@gmx.de>
Wed, 24 Nov 2004 17:45:26 +0000 (17:45 +0000)
SVN-Revision: 2171

data/levels/test/bonusblock.stl
src/badguy/dispenser.cpp
src/badguy/dispenser.h

index 0ffa4c0..11dd329 100644 (file)
@@ -10,7 +10,7 @@
     (background (image "arctis.jpg")
                 (speed 0.5))
     (secretarea (x 400) (y 128) (message "You found a secret area!"))
-    (dispenser (x 500) (y 128) (badguy "snowball"))
+    (dispenser (x 500) (y 128) (badguy "snowball") (cycle 3))
     (spawn-points
       (name "main")
       (x 100)
index 84f7e2a..e9e45ec 100644 (file)
@@ -3,12 +3,11 @@
 #include "dispenser.h"
 #include "badguy/bouncing_snowball.h"
 
-#define DISPENSE_TIME 3
-
 Dispenser::Dispenser(LispReader& 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);
   bbox.set_size(32, 32);
   sprite = sprite_manager->create("snowball");
@@ -21,6 +20,7 @@ Dispenser::write(LispWriter& writer)
 
   writer.write_float("x", get_pos().x);
   writer.write_float("y", get_pos().y);
+  writer.write_float("cycle", cycle);
   writer.write_string("badguy", badguy);
 
   writer.end_list("dispenser");
@@ -29,7 +29,7 @@ Dispenser::write(LispWriter& writer)
 void
 Dispenser::activate()
 {
-   dispense_timer.start(DISPENSE_TIME, true);
+   dispense_timer.start(cycle, true);
 }
 
 bool
index 571954f..76abc28 100644 (file)
@@ -16,6 +16,7 @@ public:
 
 protected:
   bool collision_squished(Player& player);
+  float cycle;
   std::string badguy;
   Timer2 dispense_timer;
 };