public Tracking Parse(string input) { var m = regex.Match(input); if (!m.Success) { return(null); } var id = m.Groups["id"].Value; var time = FromEpoch(m.Groups["time"].Value); var lat = double.Parse(m.Groups["lat"].Value, CultureInfo.InvariantCulture); var lon = double.Parse(m.Groups["lon"].Value, CultureInfo.InvariantCulture); var tracking = new Tracking(id, time, new Point(lat, lon), 0); if (debug?.Condition(tracking) ?? false) { debug.Log(input, tracking); } return(tracking); }
public void Log(string input, Tracking tracking) => logger.Invoke(input);
public bool Condition(Tracking tracking) => predicate.Invoke(tracking);