예제 #1
0
        private void OpenRaceFromFolder()
        {
            string raceStartFile = $"{textBoxRaceDataFolder.Text}\\Race.Start";

            if (!File.Exists(raceStartFile))
            {
                return;
            }

            _race = EDRace.LoadFromFile(raceStartFile);
            if (_race == null)
            {
                return;
            }

            textBoxRaceName.Text = _race.Name;
            InitialiseRaceData();
            buttonPlay.Enabled = true;
        }
예제 #2
0
        private void StartRace(string request, HttpListenerContext Context)
        {
            // Client has requested to start race monitoring.  The request should be an EDRace json.  We return a Guid

            try
            {
                Guid raceId = Guid.NewGuid();
                SaveRaceToDisk(raceId, "StartRequest", false, request);
                EDRace race = EDRace.FromString(request);
                race.Log = Log;
                _races.Add(raceId, race);
                SaveRaceToDisk(raceId, "Start", false);
                race.StartRace(true);
                WriteResponse(Context, raceId.ToString());
                Log($"{raceId}: Started race");
            }
            catch (Exception ex)
            {
                WriteResponse(Context, $"Error while initialising race:{Environment.NewLine}{ex}", (int)HttpStatusCode.InternalServerError);
                LogError($"Failed to start new race: {ex.Message}");
            }
        }
예제 #3
0
 public FormRaceHistory(EDRace race)
 {
     InitializeComponent();
     _raceStatuses = race.Statuses;
     InitComboFromStatuses();
 }