- void update(Mf::Scalar t, Mf::Scalar dt);
- void draw(Mf::Scalar alpha) const;
- bool handleEvent(const Mf::Event& event);
+ void update(Mf::Engine& engine, Mf::Scalar t, Mf::Scalar dt);
+ void draw(Mf::Engine& engine, Mf::Scalar alpha) const;
+ bool handleEvent(Mf::Engine& engine, const Mf::Event& event);
+
+ struct State
+ {
+ // the script object must be mutable because some script functions must be
+ // called during draw
+ mutable Mf::Script script;
+ std::vector<std::string> sceneList;
+
+ HeroineP heroine;
+ SceneP scene;
+
+ Mf::PolynomialInterpolator<5> interp;
+
+ Mf::Camera camera;
+ };