uddf-sdk 0.2.0

Reading and writing UDDF files
Documentation
use crate::entities::waypoint::structure::Waypoint;

use super::structure::Samples;

/// Builder for creating `Samples` instances.
pub struct SamplesBuilder {
    waypoints: Vec<Waypoint>,
}

impl SamplesBuilder {
    /// Create a new `SamplesBuilder` instance.
    pub fn new() -> Self {
        SamplesBuilder {
            waypoints: Vec::new(),
        }
    }

    /// Add a waypoint.
    pub fn add_waypoint(mut self, waypoint: Waypoint) -> Self {
        self.waypoints.push(waypoint);
        self
    }

    /// Build the final `Samples` object.
    pub fn build(self) -> Result<Samples, &'static str> {
        Ok(Samples {
            waypoints: self.waypoints,
        })
    }
}

impl Default for SamplesBuilder {
    fn default() -> Self {
        Self::new()
    }
}