/** * @inheritDoc */ protected function handleArrow(Arrow $arrow) { // set arrow number // do stuff // return arrow $remainingShots = $this->remainingShots(); $arrowNumber = 4 - $remainingShots; $arrow->setNumber($arrowNumber); $turn = $this->updateTurn($arrow); if ($turn->isVoid() || $turn->isComplete()) { // turn closed! $this->setTurnCompleted($turn); } if ($this->leg->isClosed()) { $this->setLegCompleted($this->leg); } return $arrow; }