]> git.tdb.fi Git - libs/game.git/blob - examples/bassteroids/source/bassteroids.h
779092e1039ff835cce66a59f3196e1516e27b13
[libs/game.git] / examples / bassteroids / source / bassteroids.h
1 #ifndef BASSTEROIDS_H_
2 #define BASSTEROIDS_H_
3
4 #include <msp/game/camera.h>
5 #include <msp/game/owned.h>
6 #include <msp/game/resources.h>
7 #include <msp/gameview/application.h>
8 #include <msp/gameview/resources.h>
9 #include "playfield.h"
10
11 class PlayerController;
12
13 class BassteroidsResources: public Msp::Game::ApplicationResources, public Msp::GameView::Resources
14 { };
15
16 class Bassteroids: public Msp::GameView::Application<Bassteroids, BassteroidsResources>
17 {
18 private:
19         Msp::Game::EventObserver event_observer;
20         Msp::Game::Stage &game_stage;
21
22         PlayfieldSetup pf_setup;
23         Msp::Game::Owned<Playfield> playfield;
24         PlayerController *player_controller = nullptr;
25
26         Msp::Game::CameraSetup cam_setup;
27         Msp::Game::Owned<Msp::Game::Entity> cam_entity;
28         Msp::Game::Owned<Msp::Game::Camera> camera;
29
30 public:
31         Bassteroids(int, char **);
32
33 private:
34         void player_arrived(const Msp::GameView::Events::PlayerArrived &);
35 };
36
37 #endif