/// <summary> /// implementation of the ICarCoordinates interface /// </summary> /// <param name="coords">car coordinate data</param> public void ProcessRaceData(JCarCoords coords) { // TODO replace with a more meaningful race model // received new car coordinates // store the information - Car array // calculate speed & publish speed++; speed %= 300; client.SendSpeed(coords.Timestamp, coords.CarIndex, speed); // calculate posision & publish position = random.Next(1, 6); client.SendPosition(coords.Timestamp, coords.CarIndex, position); // identify interesting events & publish if (speed == 1) { client.SendRaceEvent(coords.Timestamp, $"event {position}"); } }
/// <summary> /// send a race event message /// </summary> /// <param name="sender">event source</param> /// <param name="e">event arguments</param> private void RaceMonitor_RaceEvent(object sender, RaceEventEventArgs e) { client.SendRaceEvent(e.Timestamp, e.Message); }