4 class ControlledRobot {
6 ModelPosition *pos = nullptr;
8 ControlledRobot(Model *m) : pos(dynamic_cast<ModelPosition *>(m))
10 assert(this->pos != nullptr);
11 this->pos->Subscribe();
13 ModelPosition *get_pos() const { return this->pos; }
16 extern "C" int Init(Model *model, CtrlArgs *)
18 auto r = new ControlledRobot(model);
19 r->get_pos()->SetXSpeed(-3.0);