Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
        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);
                }
            }
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        /// <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);
        }
Esempio n. 6
0
        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);
        }