From 7bdc83c760f85bb114eb01efd5a84ebbd88b9945 Mon Sep 17 00:00:00 2001 From: Dietrich Date: Tue, 13 Dec 2022 11:31:29 +0100 Subject: [PATCH] adding extend_plan and set_speed --- src/commands.rs | 8 +++++++- src/lib.rs | 2 +- src/turtle_bundle.rs | 8 +++++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/commands.rs b/src/commands.rs index 160acdb..ca55e91 100644 --- a/src/commands.rs +++ b/src/commands.rs @@ -10,7 +10,7 @@ use crate::{ }, TurtleGraphElement, }, - general::{angle::Angle, length::Length, Coordinate, Precision}, + general::{angle::Angle, length::Length, Coordinate, Precision, Speed}, state::TurtleState, }; /** @@ -146,6 +146,12 @@ impl TurtleCommands { pub fn push(&mut self, segment: TurtleSegment) { self.commands.push(segment) } + pub fn extend(&mut self, segments: Vec) { + self.commands.extend(segments.into_iter()) + } + pub fn set_speed(&mut self, speed: Speed) { + self.state.set_speed(speed); + } } impl Iterator for TurtleCommands { diff --git a/src/lib.rs b/src/lib.rs index 61d0ea0..96a932e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -21,7 +21,7 @@ pub mod events; mod general; pub mod shapes; mod state; -mod turtle_bundle; +pub mod turtle_bundle; /** The turtle plugin is the core of this turtle module. diff --git a/src/turtle_bundle.rs b/src/turtle_bundle.rs index b5bea0f..b8f864e 100644 --- a/src/turtle_bundle.rs +++ b/src/turtle_bundle.rs @@ -9,7 +9,7 @@ use bevy_prototype_lyon::{ use crate::{ builders::{TurtlePlan, WithCommands}, commands::{DrawElement, MoveCommand, TurtleCommands, TurtleSegment}, - general::length::Length, + general::{length::Length, Speed}, shapes::{self, TurtleColors}, }; @@ -43,6 +43,9 @@ impl TurtleBundle { pub fn apply_plan(&mut self, plan: TurtlePlan) { self.commands = TurtleCommands::new(plan.get_commands()); } + pub fn extend_plan(&mut self, plan: TurtlePlan) { + self.commands.extend(plan.get_commands()) + } pub fn create_plan(&self) -> TurtlePlan { TurtlePlan::new() } @@ -55,6 +58,9 @@ impl TurtleBundle { ))); self } + pub fn set_speed(&mut self, speed: Speed) { + self.commands.set_speed(speed); + } } #[derive(Bundle)]