public async Task <int> SavePlateau(LandBase plateau) { var persistencePlateau = Mapper.Map <PersistencePlateau>(plateau); _context.Plateaus.Add(persistencePlateau); return(await _context.SaveChangesAsync()); }
public async Task <int> UpdatePlateau(LandBase plateau) { var persistencePlateau = _context.Plateaus.Include(t => t.Rovers).First(t => t.Id == plateau.Id); persistencePlateau.Size = new Size(plateau.Size.Width, plateau.Size.Height); persistencePlateau.Rovers = plateau.Rovers.Select(Mapper.Map <Rover.Domain.Rover, PersistenceRover>).ToList(); return(await _context.SaveChangesAsync()); }
public RelocatingSquadronsWindowViewModel(LandBase landBase) { this.Title = "配置転換中の航空機一覧"; this.RelocatingSquadrons = ViewModelHelper.CreateReadOnlyDispatcherCollection( landBase.RelocatingSquadrons, x => new RelocatingSquadronViewModel(x), DispatcherHelper.UIDispatcher); }
// 動的解析を行う処理 private void RunMonteCarlo() { string output = ""; try { // 艦隊を読み込み var friendFleet = FriendFleet(InputDeckBuilderText); LandBase landBase = null; if (IsLandBaseUse) { landBase = LandBaseFleet(InputAirBaseText); } var enemyFleet = EnemyFleet(InputEnemyDataText); // 時間を記録する var sw = new System.Diagnostics.Stopwatch(); sw.Start(); // モンテカルロシミュレーションを行う var simulationSize = new int[] { 10000, 100000, 1000000, 10000000, 100000000 }; output = Simulator.MonteCarlo(friendFleet, enemyFleet, landBase, simulationSize[SimulationSizeIndex]); // 先頭に計算時間を追加する sw.Stop(); output = $"経過時間:{Math.Round(sw.Elapsed.TotalSeconds, 1)}秒\n" + output; // 結果を表示する List <string> nameList; List <List <List <double> > > histList; Simulator.ResultData(friendFleet, enemyFleet, landBase, simulationSize[SimulationSizeIndex], out nameList, out histList); //rv?.Close(); var rvm = new ResultViewModel( nameList, histList, InputDeckBuilderText, InputAirBaseText, InputEnemyDataText, output); rv = new ResultView(); rv.DataContext = rvm; rvm.SetDelegate(rv.DrawChart, rv.CopyChart, SendFriend, SendLandBase, SendEnemy); rv.Show(); } catch { output = "自艦隊 or 敵艦隊が正常に読み込めませんでした."; } // 表示 MessageBox.Show(output, "AWSR"); }
public LandBaseViewModel(LandBase source) { this.source = source; this.source.Subscribe(nameof(LandBase.AirFleets), () => { var fleets = this.source.AirFleets.Select(kvp => new AirFleetViewModel(kvp.Value)).ToArray(); if (this.SelectedFleet == null) { this.SelectedFleet = fleets.FirstOrDefault(); } else { this.SelectedFleet = fleets.FirstOrDefault(x => x.MapArea.Id == this.selectedMapId); } this.AirFleets = fleets; }, false).AddTo(this); }
public void SetLand(LandBase board) { Land = board; }