--- /dev/null
+#ifndef SHIP_H_
+#define SHIP_H_
+
+#include <msp/game/meshsource.h>
+#include "physicalentity.h"
+
+struct ShipSetup
+{
+ PhysicalSetup physical;
+ Msp::Game::MeshSourceSetup mesh;
+ float speed;
+ float turn_rate;
+};
+
+class Ship: public PhysicalEntity
+{
+public:
+ using Setup = ShipSetup;
+
+private:
+ const Setup &setup;
+ Msp::Game::Owned<Msp::Game::MeshSource> mesh;
+
+public:
+ Ship(Msp::Game::Handle<Msp::Game::Entity>, const Setup &);
+
+ const Setup &get_setup() const { return setup; }
+};
+
+#endif