]> Dogcows Code - chaz/yoink/blobdiff - src/yoink.hh
further implementing runloop support
[chaz/yoink] / src / yoink.hh
diff --git a/src/yoink.hh b/src/yoink.hh
new file mode 100644 (file)
index 0000000..cc4446a
--- /dev/null
@@ -0,0 +1,74 @@
+
+/*]  Copyright (c) 2009-2010, Charles McGarvey  [**************************
+**]  All rights reserved.
+*
+* vi:ts=4 sw=4 tw=75
+*
+* Distributable under the terms and conditions of the 2-clause BSD license;
+* see the file COPYING for a complete text of the license.
+*
+**************************************************************************/
+
+#ifndef _YOINK_HH_
+#define _YOINK_HH_
+
+/**
+ * \file yoink.hh
+ * This is the big enchilada.
+ */
+
+#include <iostream>
+#include <string>
+#include <vector>
+
+#include <boost/shared_ptr.hpp>
+
+#include <moof/math.hh>
+#include <moof/sound.hh>
+
+#include <moof/line.hh>                // TODO
+#include <moof/plane.hh>
+#include <moof/ray.hh>
+#include <moof/sphere.hh>
+#include <moof/timer.hh>
+
+#include "GameState.hh"
+#include "Hud.hh"
+
+
+class yoink
+{
+public:
+
+       yoink();
+
+       void update(moof::scalar t, moof::scalar dt);
+       void draw(moof::scalar alpha) const;
+       bool handle_event(const moof::event& event);
+
+private:
+
+       void load_scene_loader();
+       void advance_scene();
+
+       void projection();
+       void projection(moof::scalar width, moof::scalar height);
+
+       mutable GameState               state_;
+
+       HudP                    mHud;
+
+       moof::sound     punch_sound_;
+       moof::sound             music_;
+
+       moof::ray2              mRay;
+       moof::line2             mLine;
+       moof::circle    mCircle;
+
+       moof::timer             mRayTimer;
+       void rayTimer();
+};
+
+
+#endif // _YOINK_HH_
+
This page took 0.024679 seconds and 4 git commands to generate.