From 3ddc56e4ac76c7e478dd8d179f4dd3c33c6c671d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Korg=C3=B3l?= Date: Mon, 17 Jun 2019 12:40:19 +0200 Subject: [PATCH] Allow client to read user input --- chat-cli/src/main.rs | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/chat-cli/src/main.rs b/chat-cli/src/main.rs index 1a4f099579..2065becdb7 100644 --- a/chat-cli/src/main.rs +++ b/chat-cli/src/main.rs @@ -2,9 +2,19 @@ use client::{Client, Event}; use common::{clock::Clock, comp}; use log::{error, info}; use std::time::Duration; +use std::io; const TPS: u64 = 10; // Low value is okay, just reading messages. +fn read_input() -> String { + let mut buffer = String::new(); + + io::stdin().read_line(&mut buffer) + .expect("Failed to read input"); + + buffer +} + fn main() { // Initialize logging. pretty_env_logger::init(); @@ -20,15 +30,18 @@ fn main() { println!("Server info: {:?}", client.server_info); - // TODO: Remove or move somewhere else, this doesn't work immediately after connecting - println!("Ping: {:?}", client.get_ping_ms()); - println!("Players online: {:?}", client.get_players()); - client.register(comp::Player::new("test".to_string(), None)); - client.send_chat("Hello!".to_string()); + println!("Enter your username"); + let mut username = read_input(); + + client.register(comp::Player::new(username, None)); loop { + + // TODO: Make it run on another thread. The client doesn't sync until you won't send another + // message. + client.send_chat(read_input()); let events = match client.tick(comp::Controller::default(), clock.get_last_delta()) { Ok(events) => events, Err(err) => { @@ -39,7 +52,7 @@ fn main() { for event in events { match event { - Event::Chat(msg) => println!("[chat] {}", msg), + Event::Chat(msg) => println!("{}", msg), Event::Disconnect => {} // TODO } }