public bool Add(JumpPoints data, string tableName) { bool isok = false; StringBuilder sbSql = new StringBuilder(); sbSql.Append("insert into " + tableName + " ("); sbSql.Append("ID,CurrentMileage,"); sbSql.Append("CurrentSample,LastMileage,LastSample,DiffSample,DiffMileage"); sbSql.Append(") values("); sbSql.Append(data.ID).Append(","); sbSql.Append(data.CurrentMileage).Append(","); sbSql.Append(data.CurrentSample).Append(","); sbSql.Append(data.LastMileage).Append(","); sbSql.Append(data.LastSample).Append(","); sbSql.Append(data.DiffSample).Append(","); sbSql.Append(data.DiffMileage).Append(""); sbSql.Append(")"); int i = DataAccess.AccessHelper.Run_SQL(sbSql.ToString(), connStr); if (i > 0) { isok = true; } return(isok); }
/// <summary> /// Adds a new jump point to the system. Since JPs can't be destroyed there is no corresponding remove function. Perhaps there should be. /// </summary> /// <param name="parentStar">Star to attach this JP to.</param> /// <param name="Position.XAU">X offset from Star Position</param> /// <param name="Position.YAU">Y offset from Star Position.</param> /// <returns>Newly Created Jumpoint</returns> public JumpPoint CreateJumpPoint(Star parentStar, double XOffsetAU, double YOffsetAU) { JumpPoint NewJP = new JumpPoint(this, parentStar, XOffsetAU, YOffsetAU); JumpPoints.Add(NewJP); return(NewJP); }
private void SetJump(YuoGrid grid, int x, int y) { grid.CanJump = true; if (!JumpPoints.Contains(grid)) { //print("添加了一个跳点"); JumpPoints.Add(grid); grid.sr.color = Color.green; } grid.jump.AddDir(x == -1 ? Dir.Right : Dir.Left); grid.jump.AddDir(y == -1 ? Dir.Up : Dir.Down); foreach (var item in grid.jump.Dirs) { if (item == Vector2Int.up) { grid.sr.transform.GetChild(2).gameObject.SetActive(true); } if (item == Vector2Int.down) { grid.sr.transform.GetChild(3).gameObject.SetActive(true); } if (item == Vector2Int.left) { grid.sr.transform.GetChild(0).gameObject.SetActive(true); } if (item == Vector2Int.right) { grid.sr.transform.GetChild(1).gameObject.SetActive(true); } } }
public List <JumpPoints> Load(string tableName) { List <JumpPoints> data = new List <JumpPoints>(); DataTable dt = DataAccess.AccessHelper.Get_DataTable("select * from " + tableName, connStr, tableName); if (dt != null && dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { JumpPoints jumpPoint = new JumpPoints(); jumpPoint.ID = int.Parse(dt.Rows[i]["ID"].ToString()); jumpPoint.CurrentMileage = double.Parse(dt.Rows[i]["CurrentMileage"].ToString()); jumpPoint.CurrentSample = double.Parse(dt.Rows[i]["CurrentSample"].ToString()); jumpPoint.LastMileage = double.Parse(dt.Rows[i]["LastMileage"].ToString()); jumpPoint.LastSample = double.Parse(dt.Rows[i]["LastSample"].ToString()); jumpPoint.DiffSample = double.Parse(dt.Rows[i]["DiffSample"].ToString()); jumpPoint.DiffMileage = double.Parse(dt.Rows[i]["DiffMileage"].ToString()); data.Add(jumpPoint); } } return(data); }
/// <summary> /// Adds a new jump point to the system. Since JPs can't be destroyed there is no corresponding remove function. Perhaps there should be. /// </summary> /// <param name="XSystemAU">X Location in AU of JP.</param> /// <param name="YSystemAU">Y Location in AU of JP.</param> public void AddJumpPoint(double XSystemAU, double YSystemAU) { JumpPoint NewJP = new JumpPoint(this, XSystemAU, YSystemAU); JumpPoints.Add(NewJP); }
private void ProcessGeoFile() { this.Invoke(new Action(() => { progressBar1.Value = 1; })); List <int[]> dataList = geoHelper.GetMileChannelData(geoFilePath); totalLength = (dataList[1].Length - 1) * 0.25 / 1000; this.Invoke(new Action(() => { progressBar1.Value = 8; })); double km_pre = 0; double meter_pre = 0; double km_currrent = 0; double meter_current = 0; double mileage_between = 0; double meter_between = 0; double mileage_pre = 0; double mileage_current = 0; double forwardValue = 0; double backValue = 0; try { if (dataList != null && dataList.Count > 0) { listPoints.Clear(); int index = 0; for (int i = 0; i < dataList[0].Length; i++) { if (i == 0) { km_pre = dataList[0][i]; meter_pre = dataList[1][i]; } else { km_currrent = dataList[0][i]; meter_current = dataList[1][i]; mileage_pre = km_pre * 1000 + meter_pre * 0.25; mileage_current = km_currrent * 1000 + meter_current * 0.25; mileage_between = mileage_current - mileage_pre; meter_between = meter_current - meter_pre; if (Math.Abs(mileage_between) > Convert.ToDouble(numUDJumpValue.Value)) { if (mileage_between > forwardValue) { forwardValue = mileage_between; } if (mileage_between < 0 && Math.Abs(mileage_between) > backValue) { backValue = Math.Abs(mileage_between); } JumpPoints point = new JumpPoints(); point.ID = ++index; point.CurrentMileage = km_currrent; point.CurrentSample = meter_current; point.LastMileage = km_pre; point.LastSample = meter_pre; point.DiffMileage = mileage_between; point.DiffSample = meter_between; listPoints.Add(point); } km_pre = km_currrent; meter_pre = meter_current; int value = i * 80 / dataList[0].Length; if (value != 0 && (value % 20 == 0) || i == dataList[0].Length - 1) { this.Invoke(new Action(() => { progressBar1.Value = value; if (i == dataList[0].Length - 1) { progressBar1.Visible = false; } })); } } } } else { MessageBox.Show("没有获取到Geo通道数据", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } } catch (Exception ex) { MessageBox.Show("系统错误" + ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } }
//返回结果集---第一个页面 public List <JumpPoints> GadgetList(string geoFilePath, int numUDJumpValue) { List <JumpPoints> listPoints = new List <JumpPoints>(); List <int[]> dataList = geoHelper.GetMileChannelData(geoFilePath); totalLength = (dataList[1].Length - 1) * 0.25 / 1000; double km_pre = 0; double meter_pre = 0; double km_currrent = 0; double meter_current = 0; double mileage_between = 0; double meter_between = 0; double mileage_pre = 0; double mileage_current = 0; double forwardValue = 0; double backValue = 0; try { if (dataList != null && dataList.Count > 0) { listPoints.Clear(); int index = 0; for (int i = 0; i < dataList[0].Length; i++) { if (i == 0) { km_pre = dataList[0][i]; meter_pre = dataList[1][i]; } else { km_currrent = dataList[0][i]; meter_current = dataList[1][i]; mileage_pre = km_pre * 1000 + meter_pre * 0.25; mileage_current = km_currrent * 1000 + meter_current * 0.25; mileage_between = mileage_current - mileage_pre; meter_between = meter_current - meter_pre; if (Math.Abs(mileage_between) > Convert.ToDouble(numUDJumpValue))//与跳变容许值进行比较 { if (mileage_between > forwardValue) { forwardValue = mileage_between; } if (mileage_between < 0 && Math.Abs(mileage_between) > backValue) { backValue = Math.Abs(mileage_between); } JumpPoints point = new JumpPoints(); point.ID = ++index; point.CurrentMileage = km_currrent; point.CurrentSample = meter_current; point.LastMileage = km_pre; point.LastSample = meter_pre; point.DiffMileage = mileage_between; point.DiffSample = meter_between; listPoints.Add(point); } km_pre = km_currrent; meter_pre = meter_current; int value = i * 80 / dataList[0].Length; if (value != 0 && (value % 20 == 0) || i == dataList[0].Length - 1) { } } } } else { //MessageBox.Show("没有获取到Geo通道数据", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); // return; } } catch (Exception ex) { throw ex; } return(listPoints); }