/** * @param string $api_data * @return CombatReport */ public static function createMissileReport($api_data) { $generic = $api_data['generic']; $details = $api_data['details']; $missilereport = new self($generic['mr_id'], $generic['event_time'], $generic['event_timestamp'], $generic['attacker_name'], $generic['attacker_planet_coordinates'], $generic['attacker_planet_name'], $generic['attacker_planet_type'], $generic['defender_name'], $generic['defender_planet_coordinates'], $generic['defender_planet_name'], $generic['defender_planet_type'], $generic['missiles_lost_attacker'], $generic['missiles_lost_defender']); if (isset($details['defense'])) { $defence_data = array(); foreach ($details['defense'] as $data) { $defence_data[$data['defense_type']] = array('count' => $data['count']); } if (isset($details['defense_destroyed'])) { foreach ($details['defense_destroyed'] as $data) { $defence_data[$data['defense_type']]['lost'] = (int) $data['count']; } } $missilereport->loadDefenderDefence($defence_data); } $missilereport->setAttackerMissiles(); return $missilereport; }