public function doActions(World $world) { $factory = $world->findOne('factory'); $headquarter = $world->findOne('headquarter'); $infantry = $world->findOne('infantry'); if (!$infantry) { $factory->make('infantry'); return; } if ($infantry->getParent() != $headquarter) { $infantry->moveTo($headquarter); return; } else { $infantry->capture(); return; } }