水平均分和垂直均分加入提示
This commit is contained in:
parent
be09eef794
commit
7d8646b4d8
@ -13,6 +13,7 @@ using System.Threading.Tasks;
|
||||
using System.Windows.Input;
|
||||
using Plane.Geography;
|
||||
using Plane.Windows.Messages;
|
||||
using System.Windows;
|
||||
|
||||
namespace Plane.FormationCreator.ViewModels
|
||||
{
|
||||
@ -277,7 +278,11 @@ namespace Plane.FormationCreator.ViewModels
|
||||
double tlng = 0;
|
||||
double avgl = 0;
|
||||
|
||||
|
||||
if (Alert.Show("本操作将导致飞机位置重新排列,编号最小的飞机在最左边,您确定要继续吗?", "提示", MessageBoxButton.OKCancel, MessageBoxImage.Warning)
|
||||
== MessageBoxResult.OK)
|
||||
{
|
||||
|
||||
|
||||
|
||||
var selectedCopter = _copterManager.SelectedCopters.FirstOrDefault();
|
||||
bool copterisselect;
|
||||
@ -327,7 +332,7 @@ namespace Plane.FormationCreator.ViewModels
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
///////////////////////
|
||||
@ -354,61 +359,64 @@ namespace Plane.FormationCreator.ViewModels
|
||||
|
||||
double avgl = 0;
|
||||
|
||||
|
||||
//////////////////////
|
||||
|
||||
var selectedCopter = _copterManager.SelectedCopters.FirstOrDefault();
|
||||
bool copterisselect;
|
||||
int selectednumber = _copterManager.SelectedCopters.Count() - 1;
|
||||
for (int i = 0; i < _flightTaskManager.SelectedTask.SingleCopterInfos.Count; i++)
|
||||
if (Alert.Show("本操作将导致飞机位置重新排列,编号最小的飞机在最上边,您确定要继续吗?", "提示", MessageBoxButton.OKCancel, MessageBoxImage.Warning)
|
||||
== MessageBoxResult.OK)
|
||||
{
|
||||
copterisselect = false;
|
||||
selectedCopter = _flightTaskManager.SelectedTask.SingleCopterInfos[i].Copter;
|
||||
foreach (var capter in _copterManager.SelectedCopters)
|
||||
|
||||
//////////////////////
|
||||
|
||||
var selectedCopter = _copterManager.SelectedCopters.FirstOrDefault();
|
||||
bool copterisselect;
|
||||
int selectednumber = _copterManager.SelectedCopters.Count() - 1;
|
||||
for (int i = 0; i < _flightTaskManager.SelectedTask.SingleCopterInfos.Count; i++)
|
||||
{
|
||||
if (capter == selectedCopter)
|
||||
copterisselect = true;
|
||||
copterisselect = false;
|
||||
selectedCopter = _flightTaskManager.SelectedTask.SingleCopterInfos[i].Copter;
|
||||
foreach (var capter in _copterManager.SelectedCopters)
|
||||
{
|
||||
if (capter == selectedCopter)
|
||||
copterisselect = true;
|
||||
|
||||
}
|
||||
if (copterisselect)
|
||||
{
|
||||
|
||||
tlat = _flightTaskManager.SelectedTask.SingleCopterInfos[i].TargetLat;
|
||||
if (minlat == 0)
|
||||
minlat = tlat;
|
||||
if (tlat > maxlat)
|
||||
maxlat = tlat;
|
||||
else if (tlat < minlat)
|
||||
minlat = tlat;
|
||||
|
||||
}
|
||||
}
|
||||
if (copterisselect)
|
||||
avgl = (maxlat - minlat) / selectednumber;
|
||||
int coptnum = 0;
|
||||
|
||||
for (int i = 0; i < _flightTaskManager.SelectedTask.SingleCopterInfos.Count; i++)
|
||||
{
|
||||
copterisselect = false;
|
||||
selectedCopter = _flightTaskManager.SelectedTask.SingleCopterInfos[i].Copter;
|
||||
foreach (var capter in _copterManager.SelectedCopters)
|
||||
{
|
||||
if (capter == selectedCopter)
|
||||
copterisselect = true;
|
||||
|
||||
tlat = _flightTaskManager.SelectedTask.SingleCopterInfos[i].TargetLat;
|
||||
if (minlat == 0)
|
||||
minlat = tlat;
|
||||
if (tlat > maxlat)
|
||||
maxlat = tlat;
|
||||
else if (tlat < minlat)
|
||||
minlat = tlat;
|
||||
}
|
||||
if (copterisselect)
|
||||
{
|
||||
|
||||
_flightTaskManager.SelectedTask.SingleCopterInfos[i].TargetLat = maxlat - avgl * coptnum;
|
||||
coptnum++;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
///////////////////////
|
||||
|
||||
// await Task.Delay(100); // 如果不等待一段时间,很可能会再触发 DataStreamReceived 事件导致飞行器重新出现在地图上。
|
||||
}
|
||||
avgl = (maxlat - minlat) / selectednumber;
|
||||
int coptnum = 0;
|
||||
|
||||
for (int i = 0; i < _flightTaskManager.SelectedTask.SingleCopterInfos.Count; i++)
|
||||
{
|
||||
copterisselect = false;
|
||||
selectedCopter = _flightTaskManager.SelectedTask.SingleCopterInfos[i].Copter;
|
||||
foreach (var capter in _copterManager.SelectedCopters)
|
||||
{
|
||||
if (capter == selectedCopter)
|
||||
copterisselect = true;
|
||||
|
||||
}
|
||||
if (copterisselect)
|
||||
{
|
||||
|
||||
_flightTaskManager.SelectedTask.SingleCopterInfos[i].TargetLat = maxlat - avgl * coptnum;
|
||||
coptnum++;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
///////////////////////
|
||||
|
||||
// await Task.Delay(100); // 如果不等待一段时间,很可能会再触发 DataStreamReceived 事件导致飞行器重新出现在地图上。
|
||||
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user