#include <Moof/Math.hh>
#include <Moof/Rectangle.hh>
+#include "GameState.hh"
#include "Tilemap.hh"
+// TODO this stuff is still just hacked up
+
class ProgressBar : public Mf::Drawable
{
public:
private:
- Mf::Scalar progress_;
+ Mf::Scalar mProgress;
- Mf::Vector2 vertices_[8];
- Mf::Scalar width_;
+ Mf::Vector2 mVertices[8];
+ Mf::Scalar mWidth;
- Tilemap tilemap_;
- Mf::Scalar texCoords_[8];
- Mf::Scalar midCoords_[2];
+ Tilemap mTilemap;
+ Mf::Scalar mTexCoords[8];
+ Mf::Scalar mMidCoords[2];
};
{
public:
- Hud();
+ Hud(GameState& state);
- static HudP alloc()
+ static HudP alloc(GameState& state)
{
- return HudP(new Hud);
+ return HudP(new Hud(state));
}
void setBar1Progress(Mf::Scalar progress)
{
// pass through
- bar1_.setProgress(progress);
+ mBar1.setProgress(progress);
}
void setBar2Progress(Mf::Scalar progress)
{
// pass through
- bar2_.setProgress(progress);
+ mBar2.setProgress(progress);
}
void setNumber(unsigned value);
void resize(int width, int height);
- void draw(Mf::Scalar alpha = 0.0) const;
- bool handleEvent(Mf::Event& event);
+ void update(Mf::Engine& engine, Mf::Scalar t, Mf::Scalar dt);
+ void draw(Mf::Engine& engine, Mf::Scalar alpha = 0.0) const;
+ bool handleEvent(Mf::Engine& engine, const Mf::Event& event);
private:
- ProgressBar bar1_;
- ProgressBar bar2_;
+ GameState& mState;
+
+ ProgressBar mBar1;
+ ProgressBar mBar2;
- unsigned number_;
- Tilemap font_;
+ unsigned mNumber;
+ Tilemap mFont;
- Mf::Matrix4 projection_;
+ Mf::Matrix4 mProjection;
};