Esempio n. 1
0
        /// <summary>
        /// Whenever a session starts this function will trigger the track parser to load the new track file.
        /// The event Track_Loaded is fired with a 500ms delay to allow the track parser to complete.
        /// The session_start function is trigger from the Simulator_StatePoller, which runs seperately anyway.
        /// </summary>
        /// <param name="sender"></param>
        private void Telemetry_Session_Start(object sender)
        {
            // Start track parser.
            // Wait 500ms because the track-parser may need some time to complete parsing the track.
            if (Net == null || !Net.IsClient)
            {
                Track = new Track.Track(Telemetry.m.Sim, Sim.Session.GameData_TrackFile);
                Thread.Sleep(1000);

            }

            if (Track_Loaded != null)
                Track_Loaded(null);
        }
Esempio n. 2
0
 /// <summary>
 /// Load new track. Specify location of gamedirectory and file.
 /// </summary>
 /// <param name="sim">Source simulator of track</param>
 /// <param name="track">Relative path from gamedirectory to track file OR track name.</param>
 public void Track_Load(ISimulator sim, string track)
 {
     if (Net == null || !Net.IsClient)
     {
         Track = new Track.Track(sim, track);
     }
 }
Esempio n. 3
0
 /// <summary>
 /// Unloads track.
 /// </summary>
 public void Track_Unload()
 {
     Track = null;
 }
Esempio n. 4
0
 //TODO: move to track class
 /// <summary>
 /// Loads route from network.
 /// </summary>
 /// <param name="routeCollection"></param>
 public void NetworkTrack_LoadRoute(RouteCollection routeCollection)
 {
     if (Net != null && Net.IsClient)
     {
         Track = new Track.Track(routeCollection);
     }
 }
Esempio n. 5
0
 /// <summary>
 /// 'Force' a track reload.
 /// </summary>
 public void ForceTrackLoad()
 {
     if (Net != null && Telemetry.m.Sim != null)
     {
         Track = new Track.Track(Telemetry.m.Sim, Sim.Session.GameData_TrackFile);
     }
 }
Esempio n. 6
0
 /// <summary>
 /// Сохранить трек в файл
 /// </summary>
 /// <param name="fileName">Имя файла</param>
 /// <param name="parser">Плагин для сохранения</param>
 private void SaveTrackProcess(string fileName, ITrackParser parser)
 {
     try
     {
         curParser = parser;
         if (File.Exists(saveTrackFileDialog.FileName))
             File.Delete(saveTrackFileDialog.FileName);
         parser.SaveTrack(track, pTracks, saveTrackFileDialog.FileName);
         curParser = null;
         //MessageBox.Show("Сохранение успешно!");
         //statusLabel.Text = "Сохранено";
     }
     catch (Exception ex)
     {
         Logger.Error(this.GetType().FullName, ex);
         //MessageBox.Show("Ошибка во время сохранения, возможно файл используется другой программой");
         //statusLabel.Text = "Ошибка";
         isError = true;
         curParser = null;
     }
 }
Esempio n. 7
0
 /// <summary>
 /// Сохранить таблицу в файл
 /// </summary>
 /// <param name="fileName">Имя файла</param>
 /// <param name="parser">Обработчик трека для хранения</param>
 private void SaveFilteredProcess(String fileName, ITrackParser parser)
 {
     try
     {
         curParser = parser;
         if (File.Exists(fileName))
             File.Delete(fileName);
         parser.SaveFilteredTrack(track, from, to, fileName, false);
         //MessageBox.Show("Сохранение успешно!");
         curParser = null;
     }
     catch (Exception ex)
     {
         isError = true;
         Logger.Error(this.GetType().FullName, ex);
     }
 }
Esempio n. 8
0
 public LibraryLoader(ITrackConfigurationSearcher trackConfigurationSearcher, ITrackParser trackParser)
 {
     this.trackConfigurationSearcher = trackConfigurationSearcher ?? throw new ArgumentNullException(nameof(trackConfigurationSearcher));
     this.trackParser = trackParser ?? throw new ArgumentNullException(nameof(trackParser));
 }