SeaBattle/src/human_player.rs

35 lines
750 B
Rust
Raw Normal View History

2022-09-11 14:48:20 +00:00
use crate::data::GameRules;
use actix::Addr;
use uuid::Uuid;
use crate::game::{Game, Player};
use crate::human_player_ws::{ClientMessage, HumanPlayerWS, ServerMessage};
pub struct HumanPlayer {
pub name: String,
pub game: Addr<Game>,
pub player: Addr<HumanPlayerWS>,
pub uuid: Uuid,
}
impl Player for HumanPlayer {
fn get_name(&self) -> &str {
&self.name
}
fn get_uid(&self) -> Uuid {
self.uuid
}
fn query_boats_layout(&self, rules: &GameRules) {
self.player
.do_send(ServerMessage::QueryBoatsLayout(rules.clone()));
}
}
impl HumanPlayer {
pub fn handle_client_message(&self, msg: ClientMessage) {
log::info!("Got message from client: {:?}", msg);
}
}