// Use this for initialization
    void Start()
    {
        SystemPosition position = new SystemPosition(new Vector3[] { Vector3.zero, Vector3.one, Vector3.right });

        print(string.Format("{0} - {1} - {2}", position.location[0], position.location[1], position.location[2]));
        SystemPosition.Subtract(position.location, Vector3.one * 52.1f, 1);
        print(string.Format("{0} - {1} - {2}", position.location[0], position.location[1], position.location[2]));
        print(position.ToWorldPosition(0));
    }
Exemple #2
0
        private void toolStripButton1_Click(object sender, EventArgs e)
        {
            SystemPosition ps2 = (from c in VisitedSystems where c.curSystem != null && c.curSystem.HasCoordinate == true orderby c.time descending select c).FirstOrDefault <SystemPosition>();

            if (ps2 != null)
            {
                SetCenterSystem(ps2.curSystem);
            }
        }
Exemple #3
0
        private async Task AddNewSystem(SystemPosition ps)
        {
            if (ps == null)
            {
                throw new ArgumentNullException("ps");
            }

            var starSystem = await _persistentStore.AddNewStarSystem(ps);

            NetLogWatcherEventArgs args = new NetLogWatcherEventArgs();

            args.CurrentSystem = starSystem;
            OnNewPosition(this, args);

            //ss.Name = ps.Name;
            //var sys = await _starSystemRepository.Save(ss);
            //LogText(string.Format("{0}: Adding system: {1}", DateTime.Now, ps.Name));
            //var current = _systemPointer.Get<string>("currentObjectId"); ;
            //_systemPointer["lastObjectId"] = current;
            //_systemPointer["currentObjectId"] = sys.ObjectId;
            //_systemPointer = await _systemPointerRepository.Save(_systemPointer);
        }
Exemple #4
0
        public async Task <StarSystem> AddNewStarSystem(SystemPosition ps)
        {
            if (null == CurrentExpedition)
            {
                throw new Exception("CurrentExpedition is null");
            }
            if (null == ps)
            {
                throw new ArgumentNullException("ps");
            }
            var ss = new StarSystem();

            ss.Name       = ps.Name;
            ss.Expedition = CurrentExpedition;
            var sys = await _starSystemRepository.Insert(ss);

            if (null != sys)
            {
                StarSystems.ToList().Add(sys);
            }
            return(sys);
        }
Exemple #5
0
        public int GetLogs(DateTime starttime, out List <SystemPosition> log)
        {
            log = new List <SystemPosition>();

            string query = "get-logs?startdatetime=" + HttpUtility.UrlEncode(starttime.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture)) + "&apiKey=" + apiKey + "&commanderName=" + HttpUtility.UrlEncode(commanderName);
            //string query = "get-logs?apiKey=" + apiKey + "&commanderName=" + HttpUtility.UrlEncode(commanderName);
            var response = RequestGet("api-logs-v1/" + query);
            var json     = response.Body;

            if (json == null)
            {
                return(0);
            }

            JObject msg   = JObject.Parse(json);
            int     msgnr = msg["msgnum"].Value <int>();

            JArray logs = (JArray)msg["logs"];

            if (logs != null)
            {
                foreach (JObject jo in logs)
                {
                    SystemPosition pos = new SystemPosition();


                    pos.Name = jo["system"].Value <string>();
                    string str = jo["date"].Value <string>();

                    pos.time = DateTime.ParseExact(str, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal).ToLocalTime();

                    log.Add(pos);
                }
            }

            return(msgnr);
        }
Exemple #6
0
        public void Sync(bool pushOnly)
        {
            try
            {
                SQLiteDBClass db   = new SQLiteDBClass();
                EDSMClass     edsm = new EDSMClass();

                edsm.apiKey        = EDDiscoveryForm.EDDConfig.CurrentCommander.APIKey;
                edsm.commanderName = EDDiscoveryForm.EDDConfig.CurrentCommander.Name;

                //string comments =  edsm.GetComments(new DateTime(2015, 1, 1));
                List <SystemPosition> log;
                int ret = edsm.GetLogs(new DateTime(2011, 1, 1), out log);

                if (log == null)
                {
                    log = new List <SystemPosition>();
                }

                // Send Unsynced system to EDSM.

                List <SystemPosition> systems = (from s in mainForm.VisitedSystems where s.vs != null && s.vs.EDSM_sync == false && s.vs.Commander == EDDiscoveryForm.EDDConfig.CurrentCommander.Nr select s).ToList <SystemPosition>();
                mainForm.LogLine("EDSM: Sending " + systems.Count.ToString() + " flightlog entries", Color.Black);
                foreach (var system in systems)
                {
                    string json = null;

                    if (Exit)
                    {
                        running = false;
                        return;
                    }

                    if (system.vs != null && system.vs.EDSM_sync == false)
                    {
                        // check if it exist in EDSM
                        SystemPosition ps2 = (from c in log where c.Name == system.Name && c.time.Ticks == system.time.Ticks select c).FirstOrDefault <SystemPosition>();
                        if (ps2 != null)
                        {
                            system.vs.EDSM_sync = true;
                            system.Update();
                        }
                        else
                        {
                            json = edsm.SetLog(system.Name, system.time);
                        }

                        if (json != null)
                        {
                            JObject msg = (JObject)JObject.Parse(json);

                            int    msgnum = msg["msgnum"].Value <int>();
                            string msgstr = msg["msg"].Value <string>();


                            if (msgnum == 100 || msgnum == 401 || msgnum == 402 || msgnum == 403)
                            {
                                if (msgnum == 100)
                                {
                                    System.Diagnostics.Trace.WriteLine("New");
                                }

                                system.vs.EDSM_sync = true;
                                system.Update();
                            }
                            else
                            {
                                mainForm.LogLine("EDSM sync ERROR:" + msgnum.ToString() + ":" + msgstr, Color.Red);
                                System.Diagnostics.Trace.WriteLine("Error sync:" + msgnum.ToString() + " : " + system.Name);
                                break;
                            }
                        }
                    }
                }

                TravelLogUnit tlu = null;

                bool newsystem = false;
                if (!pushOnly)
                {
                    // Check for new systems from EDSM
                    int defaultColour = db.GetSettingInt("DefaultMap", Color.Red.ToArgb());
                    foreach (var system in log)
                    {
                        SystemPosition ps2 = (from c in mainForm.VisitedSystems where c.Name == system.Name && c.time.Ticks == system.time.Ticks select c).FirstOrDefault <SystemPosition>();
                        if (ps2 == null)     // Add to local DB...
                        {
                            if (tlu == null) // If we dontt have a travellogunit yet then create it.
                            {
                                tlu = new TravelLogUnit();

                                tlu.type = 2;  // EDSM
                                tlu.Path = "http://www.edsm.net/api-logs-v1/get-logs";
                                tlu.Name = "EDSM-" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
                                tlu.Size = 0;

                                tlu.Add();  // Add to Database
                            }

                            VisitedSystemsClass vs = new VisitedSystemsClass();

                            vs.Source = tlu.id;
                            vs.Unit   = tlu.Name;

                            vs.Name      = system.Name;
                            vs.Time      = system.time;
                            vs.MapColour = defaultColour;
                            vs.EDSM_sync = true;


                            vs.Add();  // Add to DB;
                            System.Diagnostics.Trace.WriteLine("New from EDSM");
                            newsystem = true;
                        }
                    }
                }
                mainForm.LogLine("EDSM sync Done", Color.Black);

                if (newsystem)
                {
                    OnNewEDSMTravelLog(this);
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Trace.WriteLine("Exception ex:" + ex.Message);
                mainForm.LogLine("EDSM sync Exception " + ex.Message, Color.Red);
            }
        }
Exemple #7
0
        private async Task AddNewSystem(SystemPosition ps) {
            StarSystem ss = new StarSystem();
            ss.Name = ps.Name;
            var sys = await _starSystemRepository.Insert(ss);
            LogText(string.Format("{0}: Adding system: {1}", DateTime.Now, ps.Name));
            var current = _systemPointer.Get<string>("currentObjectId"); ;
            _systemPointer["lastObjectId"] = current;
            _systemPointer["currentObjectId"] = sys.ObjectId;
            _systemPointer = await _systemPointerRepository.Save(_systemPointer);

        }
Exemple #8
0
        private async Task <int> ReadData(FileInfo fileInfo, StreamReader sr)
        {
            if (fileInfo == null)
            {
                throw new ArgumentNullException("fileInfo");
            }
            if (sr == null)
            {
                throw new ArgumentNullException("sr");
            }

            DateTime       gammastart = new DateTime(2014, 11, 22, 13, 00, 00);
            var            count = 0;
            DateTime       filetime = DateTime.Now.AddDays(-500);
            string         FirstLine = sr.ReadLine();
            string         line, str;
            NetLogFileInfo nfi = null;

            str = "20" + FirstLine.Substring(0, 8) + " " + FirstLine.Substring(9, 5);

            filetime = DateTime.Parse(str);

            if (_netlogfiles.ContainsKey(fileInfo.FullName))
            {
                nfi = _netlogfiles[fileInfo.FullName];
                sr.BaseStream.Position = nfi.filePos;
                sr.DiscardBufferedData();
            }

            while ((line = sr.ReadLine()) != null)
            {
                if (line.Contains(" System:"))
                {
                    SystemPosition ps = SystemPosition.Parse(filetime, line);
                    if (ps != null)
                    {
                        if (ps.Name.Equals("Training"))
                        {
                            continue;
                        }
                        if (ps.Name.Equals("Destination"))
                        {
                            continue;
                        }

                        filetime = ps.Time;

                        if (VisitedSystems.Count > 0)
                        {
                            if (VisitedSystems[VisitedSystems.Count - 1].Name.Equals(ps.Name))
                            {
                                continue;
                            }
                        }

                        if (ps.Time.Subtract(gammastart).TotalMinutes > 0)   // Ta bara med efter gamma.
                        {
                            if (!VisitedSystems.Contains(ps))
                            {
                                VisitedSystems.Add(ps);
                                await AddNewSystem(ps);
                            }
                            count++;
                        }
                    }
                }
            }


            if (nfi == null)
            {
                nfi = new NetLogFileInfo();
            }

            nfi.FileName    = fileInfo.FullName;
            nfi.lastchanged = File.GetLastWriteTimeUtc(nfi.FileName);
            nfi.filePos     = sr.BaseStream.Position;
            nfi.fileSize    = fileInfo.Length;

            _netlogfiles[nfi.FileName] = nfi;
            _lastnfi = nfi;

            return(count);
        }