]> Dogcows Code - chaz/yoink/blob - src/yoink.hh
further implementing runloop support
[chaz/yoink] / src / yoink.hh
1
2 /*] Copyright (c) 2009-2010, Charles McGarvey [**************************
3 **] All rights reserved.
4 *
5 * vi:ts=4 sw=4 tw=75
6 *
7 * Distributable under the terms and conditions of the 2-clause BSD license;
8 * see the file COPYING for a complete text of the license.
9 *
10 **************************************************************************/
11
12 #ifndef _YOINK_HH_
13 #define _YOINK_HH_
14
15 /**
16 * \file yoink.hh
17 * This is the big enchilada.
18 */
19
20 #include <iostream>
21 #include <string>
22 #include <vector>
23
24 #include <boost/shared_ptr.hpp>
25
26 #include <moof/math.hh>
27 #include <moof/sound.hh>
28
29 #include <moof/line.hh> // TODO
30 #include <moof/plane.hh>
31 #include <moof/ray.hh>
32 #include <moof/sphere.hh>
33 #include <moof/timer.hh>
34
35 #include "GameState.hh"
36 #include "Hud.hh"
37
38
39 class yoink
40 {
41 public:
42
43 yoink();
44
45 void update(moof::scalar t, moof::scalar dt);
46 void draw(moof::scalar alpha) const;
47 bool handle_event(const moof::event& event);
48
49 private:
50
51 void load_scene_loader();
52 void advance_scene();
53
54 void projection();
55 void projection(moof::scalar width, moof::scalar height);
56
57 mutable GameState state_;
58
59 HudP mHud;
60
61 moof::sound punch_sound_;
62 moof::sound music_;
63
64 moof::ray2 mRay;
65 moof::line2 mLine;
66 moof::circle mCircle;
67
68 moof::timer mRayTimer;
69 void rayTimer();
70 };
71
72
73 #endif // _YOINK_HH_
74
This page took 0.042136 seconds and 5 git commands to generate.