/** * Helper to get new participant instance * * @param array $part_data * @return Participant */ protected function getParticipant($part_data) { // Create driver $driver = new Driver(); $driver->setName($part_data['name'])->setHuman(false); // Has steam id if (isset($part_data['steamid'])) { $driver->setDriverId($part_data['steamid']); $driver->setHuman(true); } // Create participant and add driver $participant = Participant::createInstance(); $participant->setDrivers(array($driver))->setFinishStatus(Participant::FINISH_NORMAL); // Create vehicle and add to participant $vehicle = new Vehicle(); // TODO: Parse livery too? // $vehicle->setType( (string) $part_data['setup']['LiveryId']); // Has vehicle in root $vehicle_id = null; if (isset($part_data['VehicleId'])) { $vehicle_id = $part_data['VehicleId']; } elseif (isset($part_data['setup']) and isset($part_data['setup']['VehicleId'])) { $vehicle_id = $part_data['setup']['VehicleId']; } // Have friendly vehicle name if (isset($this->attribute_names['vehicles'][$vehicle_id])) { $vehicle->setName($this->attribute_names['vehicles'][$part_data['setup']['VehicleId']]['name']); $vehicle->setClass($this->attribute_names['vehicles'][$part_data['setup']['VehicleId']]['class']); } else { $vehicle->setName((string) $vehicle_id); } $participant->setVehicle($vehicle); return $participant; }