/** * @param TransferOffer $transferOffer * @param GameDate $gameDate * * @return Transfer */ public static function createFromOffer(TransferOffer $transferOffer, GameDate $gameDate) { $transfer = new Transfer(); $transfer->setOriginTeam($transferOffer->getOriginTeam()); $transfer->setTargetTeam($transferOffer->getTargetTeam()); $transfer->setPlayer($transferOffer->getPlayer()); $transfer->setAmount($transferOffer->getAmount()); $transfer->setSeason($gameDate->getSeason()); return $transfer; }
/** * @param GameDate $gameDate * * @return Transfer */ public function execute(GameDate $gameDate) { $this->targetTeam->sendMoney($this->originTeam, $this->amount); $this->player->setTeam($this->targetTeam); return Transfer::createFromOffer($this, $gameDate); }