35 lines
750 B
Rust
35 lines
750 B
Rust
|
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);
|
||
|
}
|
||
|
}
|