customData = new \stdClass(); $this->props = new \stdClass(); } public static function fromGame(Game &$game): MatchData { $data = new MatchData(); $data->matchId = $game->id; $data->creationDateTime = $game->created_at->getTimestamp(); $data->status = $game->status; $data->creator = $game->creator?->id; $players = $game->players; $data->players = $players->pluck('id')->toArray(); $data->sideA = $players->where('pivot.side', MatchmakingSide::Hunter->value)->pluck('id')->toArray(); $data->sideB = $players->where('pivot.side', MatchmakingSide::Runner->value)->pluck('id')->toArray(); if($game->session_settings !== '') $data->customData = (object)[ 'SessionSettings' => $game->session_settings, ]; $data->props = new MatchProperties( $game->matchConfiguration, ); return $data; } }