コード例 #1
0
        public List <DamageResultVO> MissileMulti(MissileBO bo)
        {
            double psi = 1; double rem = 100; double calcm = 1.9; double vm = 200;

            GetLimits(ref psi, ref rem, ref calcm, ref vm);

            var nuclearradiation = MyCore.NuclearAlgorithm.GetNuclearRadiationRadius(bo.Yield, bo.Alt, rem);
            var airblast         = MyCore.NuclearAlgorithm.GetShockWaveRadius(bo.Yield, bo.Alt, psi);
            var thermalradiation = MyCore.NuclearAlgorithm.GetThermalRadiationRadius(bo.Yield, bo.Alt, calcm);
            var nuclearpulse     = MyCore.NuclearAlgorithm.GetNuclearPulseRadius(bo.Yield, bo.Alt, vm);


            List <DamageResultVO> list = new List <DamageResultVO>();

            list.Add(
                new DamageResultVO("早期核辐射", nuclearradiation, bo.Lon, bo.Lat, bo.Alt, rem, "rem"));
            list.Add(
                new DamageResultVO("冲击波", airblast, bo.Lon, bo.Lat, bo.Alt, psi, "psi"));
            list.Add(
                new DamageResultVO("光辐射", thermalradiation, bo.Lon, bo.Lat, bo.Alt, calcm, "cal/cm²"));
            list.Add(
                new DamageResultVO("核电磁脉冲", nuclearpulse * 1000, bo.Lon, bo.Lat, bo.Alt, vm, "v/m"));

            return(list);
        }
コード例 #2
0
 public IActionResult MissileArea([FromBody] MissileBO bo)
 {
     return(new JsonResult(new
     {
         return_status = 0,
         return_msg = "",
         return_data = _analysisService.MissileArea(bo)
     }));
 }
コード例 #3
0
        public MissileAreaVO MissileArea(MissileBO bo)
        {
            double psi = 1; double rem = 100; double calcm = 1.9; double vm = 200;

            GetLimits(ref psi, ref rem, ref calcm, ref vm);

            var r = MyCore.NuclearAlgorithm.GetNuclearPulseRadius(bo.Yield, bo.Alt, vm);

            return(new MissileAreaVO(r, bo.Lon, bo.Lat, bo.Alt));
        }