]> git.tdb.fi Git - libs/game.git/blobdiff - examples/bassteroids/source/hitpoints.cpp
Convert components to buffered where appropriate
[libs/game.git] / examples / bassteroids / source / hitpoints.cpp
index ccd0441b45eccdaf4d4787e799353eae760ac3f3..c7ece0d1b00eec13794add4268c92b772bdccf84 100644 (file)
@@ -3,15 +3,17 @@
 using namespace Msp;
 
 HitPoints::HitPoints(Game::Handle<Game::Entity> e, const Setup &s):
-       Component(e),
-       setup(s),
-       remaining_hits(setup.max_hits)
-{ }
+       BufferedComponent<HitPointsData>(e),
+       setup(s)
+{
+       write().remaining_hits = setup.max_hits;
+}
 
 void HitPoints::take_damage(unsigned amount, unsigned type)
 {
        if(!(setup.vulnerable_to&(1<<type)))
                return;
 
-       remaining_hits = (amount<remaining_hits ? remaining_hits-amount : 0);
+       Data &d = write();
+       d.remaining_hits = (amount<d.remaining_hits ? d.remaining_hits-amount : 0);
 }