From 573ba69d810914c153a578747414b3d631e61bbc Mon Sep 17 00:00:00 2001 From: tom barrett Date: Thu, 12 Apr 2018 04:33:23 -0500 Subject: completely restructured code and fixed navigation bug --- src/ship.rs | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) (limited to 'src/ship.rs') diff --git a/src/ship.rs b/src/ship.rs index cfe913e..403b4ed 100644 --- a/src/ship.rs +++ b/src/ship.rs @@ -1,43 +1,48 @@ -use std::time::SystemTime; - extern crate serde_json; -use module::Module; +use std::time::SystemTime; +//use std::collections::HashMap; + +use storage::Storage; use mass::{Mass, MassType}; +//use module::{Module, ModuleType}; +use module::ModuleType; use targeting::{Targeting, TargetingStatus}; -use storage::Storage; #[derive(Serialize, Deserialize, Debug, Clone)] pub struct Ship { - name : String, mass_type : MassType, position : (f64, f64, f64), velocity : (f64, f64, f64), range : f64, - modules : Vec, - targeting : Targeting, + modules : Vec, mining : Mining, + targeting : Targeting, +// modules : HashMap>, storage : Storage, } impl Ship { - pub fn new(name : &str, position : (f64, f64, f64)) -> Ship { + pub fn new(position : (f64, f64, f64)) -> Ship { let mut modules = Vec::new(); - modules.push(Module::Navigation); - modules.push(Module::Engines); - modules.push(Module::Dashboard); - modules.push(Module::Mining); + modules.push(ModuleType::Navigation); + modules.push(ModuleType::Engines); + modules.push(ModuleType::Dashboard); + modules.push(ModuleType::Mining); + +// let mut modules : HashMap> = HashMap::new(); +// modules.insert(ModuleType::Navigation, Targeting::new()); +// modules.insert(ModuleType::Mining, Mining::new()); Ship { - name : String::from(name), mass_type : MassType::Ship, position : position, velocity : (0.0, 0.0, 0.0), range : 100.0, modules : modules, - targeting : Targeting::new(), mining : Mining::new(), + targeting : Targeting::new(), storage : Storage::new(Vec::new()), } } @@ -70,7 +75,6 @@ impl Ship { self.velocity.1 *= 1.05; self.velocity.2 *= 1.05; } - pub fn start_mining(&mut self) { self.mining.start() } @@ -109,10 +113,6 @@ impl Ship { } impl Mass for Ship { - fn name(&self) -> &String { - &self.name - } - fn recv_mass_type(&self) -> MassType { self.mass_type.clone() } -- cgit v1.2.3