+class Player;
+class World;
+
+class PlayerController {
+
+public:
+ PlayerController(World &, Player &);
+
+ World &GetWorld() noexcept { return world; }
+ const World &GetWorld() const noexcept { return world; }
+ Player &GetPlayer() noexcept { return player; }
+ const Player &GetPlayer() const noexcept { return player; }
+
+ WorldCollision &BlockFocus() noexcept { return aim_world; }
+ const WorldCollision &BlockFocus() const noexcept { return aim_world; }
+ EntityCollision &EntityFocus() noexcept { return aim_entity; }
+ const EntityCollision &EntityFocus() const noexcept { return aim_entity; }