Give a name to each scene.
diff --git a/src/scene.h b/src/scene.h
index 31c4385..9d92f45 100644
--- a/src/scene.h
+++ b/src/scene.h
@@ -33,10 +33,13 @@
#include <math.h>
+#include <string>
+
+using std::string;
+
class Scene
{
public:
- Scene(Screen &pScreen);
~Scene();
virtual int load();
@@ -48,7 +51,11 @@
unsigned calculate_score();
bool is_running();
+ const string &name() { return mName; }
+
protected:
+ Scene(Screen &pScreen, const string &name);
+
unsigned mPartsQty; // How many parts for the scene
unsigned mCurrentPart; // The current part being rendered
double *mPartDuration; // Duration per part in seconds
@@ -64,12 +71,13 @@
double mElapsedTime;
Screen &mScreen;
+ string mName;
};
class SceneBuild : public Scene
{
public:
- SceneBuild(Screen &pScreen) : Scene(pScreen) {}
+ SceneBuild(Screen &pScreen);
int load();
void unload();
void start();
@@ -89,7 +97,7 @@
class SceneTexture : public Scene
{
public:
- SceneTexture(Screen &pScreen) : Scene(pScreen) {}
+ SceneTexture(Screen &pScreen);
int load();
void unload();
void start();
@@ -110,7 +118,7 @@
class SceneShading : public Scene
{
public:
- SceneShading(Screen &pScreen) : Scene(pScreen) {}
+ SceneShading(Screen &pScreen);
int load();
void unload();
void start();