]> git.tdb.fi Git - libs/game.git/blob - examples/bassteroids/source/asteroid.h
Make asteroids take damage when shot and eventually be destroyed
[libs/game.git] / examples / bassteroids / source / asteroid.h
1 #ifndef ASTEROID_H_
2 #define ASTEROID_H_
3
4 #include <msp/game/entity.h>
5 #include <msp/game/meshsource.h>
6 #include "hittable.h"
7
8 struct AsteroidSetup
9 {
10         PhysicalSetup physical;
11         HittableSetup hittable;
12         Msp::Game::MeshSourceSetup mesh;
13 };
14
15 class Asteroid: public Hittable
16 {
17 public:
18         using Setup = AsteroidSetup;
19
20 private:
21         const Setup &setup;
22         Msp::Game::Owned<Msp::Game::MeshSource> mesh;
23
24 public:
25         Asteroid(Msp::Game::Handle<Entity>, const Setup &);
26 };
27
28 #endif