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