Ejemplo n.º 1
0
 public RawAerialPhase(BattleDetailJson.Aerial api)
     : base(SelectStage3(api.api_stage3, 0).Concat(SelectStage3(api.api_stage3_combined, 6)))
 {
     if (api.api_stage1 != null)
     {
         FightingResult      = (AirFightingResult?)api.api_stage1.api_disp_seiku;
         ally.FightedPlanes  = (api.api_stage1.api_f_lostcount, api.api_stage1.api_f_count);
         enemy.FightedPlanes = (api.api_stage1.api_e_lostcount, api.api_stage1.api_e_count);
         ally.PlanesFrom     = api.api_plane_from.At(0);
         enemy.PlanesFrom    = api.api_plane_from.At(1);
         ally.TouchingPlane  = (EquipmentInfoId?)RawBattle.SelectPositive(api.api_stage1.api_touch_plane, 0);
         enemy.TouchingPlane = (EquipmentInfoId?)RawBattle.SelectPositive(api.api_stage1.api_touch_plane, 1);
     }
     if (api.api_stage2 != null)
     {
         ally.ShootedPlanes  = (api.api_stage2.api_f_lostcount, api.api_stage2.api_f_count);
         enemy.ShootedPlanes = (api.api_stage2.api_e_lostcount, api.api_stage2.api_e_count);
         if (api.api_stage2.api_air_fire != null)
         {
             AntiAirFire = new RawAntiAirFire(api.api_stage2.api_air_fire.api_idx, api.api_stage2.api_air_fire.api_kind,
                                              api.api_stage2.api_air_fire.api_use_items.Select(x => (EquipmentInfoId)x).ToArray());
         }
     }
 }