From 46fa862e04bc43311ba79ef3db70abf9014b9104 Mon Sep 17 00:00:00 2001 From: tom barrett Date: Sun, 3 Feb 2019 05:45:35 -0600 Subject: bringing to 2018 --- src/client/construction.rs | 57 +++++++++++++++++++++++++--------------------- 1 file changed, 31 insertions(+), 26 deletions(-) (limited to 'src/client/construction.rs') diff --git a/src/client/construction.rs b/src/client/construction.rs index 7a316c6..b034b77 100644 --- a/src/client/construction.rs +++ b/src/client/construction.rs @@ -1,16 +1,16 @@ -extern crate termion; extern crate serde_json; +extern crate termion; -use std::net::TcpStream; use self::termion::async_stdin; -use std::io::{BufReader, BufRead}; -use std::io::{stdout, Read, Write}; use self::termion::raw::IntoRawMode; +use std::io::{stdout, Read, Write}; +use std::io::{BufRead, BufReader}; +use std::net::TcpStream; -use server::construction::ConstructionData; -use modules::construction::ConstructionStatus; +use crate::modules::construction::ConstructionStatus; +use crate::server::construction::ConstructionData; -pub fn client_construction(mut stream : TcpStream, mut buff_r : BufReader) { +pub fn client_construction(mut stream: TcpStream, mut buff_r: BufReader) { let stdout = stdout(); let mut stdout = stdout.lock().into_raw_mode().unwrap(); let mut stdin = async_stdin().bytes(); @@ -18,32 +18,37 @@ pub fn client_construction(mut stream : TcpStream, mut buff_r : BufReader match data.status { - ConstructionStatus::None => write!(stdout, "{}Press c to create a refinery.", clear).unwrap(), - _ => write!(stdout, "{}Press c to cancel..", clear).unwrap(), - }, - false => write!(stdout, "{}You need 5 refined minerals to create a refinery.", clear).unwrap(), + if data.has_refined { + match data.status { + ConstructionStatus::None => { + write!(stdout, "{}Press c to create a refinery.", clear).unwrap() + } + _ => write!(stdout, "{}Press c to cancel..", clear).unwrap(), + } + } else { + write!( + stdout, + "{}You need 5 refined minerals to create a refinery.", + clear + ) + .unwrap(); } - match stdin.next() { - Some(c) => { - let c = c.unwrap(); - let mut send = String::new(); - send.push(c as char); - if send.as_bytes() == b"q" { - break; - } - send.push_str("\n"); - stream.write(send.as_bytes()).unwrap(); + if let Some(c) = stdin.next() { + let c = c.unwrap(); + let mut send = String::new(); + send.push(c as char); + if send.as_bytes() == b"q" { + break; } - None => () + send.push_str("\n"); + stream.write_all(send.as_bytes()).unwrap(); } stdout.flush().unwrap(); -- cgit v1.2.3