diff --git a/client/src/lib.rs b/client/src/lib.rs index 40f9b6e058..5b6a443c32 100644 --- a/client/src/lib.rs +++ b/client/src/lib.rs @@ -57,7 +57,7 @@ impl Client { view_distance: u64, ) -> Result { - let mut client_state = ClientState::Disconnected; + let mut client_state = ClientState::Visitor; let mut postbox = PostBox::to(addr)?; // Send connection request diff --git a/common/src/msg/mod.rs b/common/src/msg/mod.rs index d0acbcac9e..504bd0d620 100644 --- a/common/src/msg/mod.rs +++ b/common/src/msg/mod.rs @@ -9,7 +9,7 @@ pub use self::ecs_packet::EcsPacket; #[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)] pub enum ClientState { - Disconnected, + Visitor, Connected, Spectator, Character, diff --git a/server/src/client.rs b/server/src/client.rs index 8d36c6e2c0..45474f4e7e 100644 --- a/server/src/client.rs +++ b/server/src/client.rs @@ -60,7 +60,7 @@ impl Clients { pub fn notify_connected(&mut self, msg: ServerMsg) { for client in self.clients.values_mut() { - if client.client_state != ClientState::Disconnected { + if client.client_state != ClientState::Visitor { client.notify(msg.clone()); } } @@ -68,7 +68,7 @@ impl Clients { pub fn notify_connected_except(&mut self, except_entity: EcsEntity, msg: ServerMsg) { for (entity, client) in self.clients.iter_mut() { - if client.client_state != ClientState::Disconnected && *entity != except_entity { + if client.client_state != ClientState::Visitor && *entity != except_entity { client.notify(msg.clone()); } } diff --git a/server/src/lib.rs b/server/src/lib.rs index 9f3a578c74..f3d6a94c10 100644 --- a/server/src/lib.rs +++ b/server/src/lib.rs @@ -217,7 +217,7 @@ impl Server { self.clients.add( entity, Client { - client_state: ClientState::Disconnected, + client_state: ClientState::Visitor, postbox, last_ping: self.state.get_time(), }, @@ -250,15 +250,15 @@ impl Server { for msg in new_msgs { match msg { ClientMsg::RequestState(requested_state) => match requested_state { - ClientState::Disconnected => disconnect = true, + ClientState::Visitor => disconnect = true, ClientState::Connected => match client.client_state { - ClientState::Disconnected => {}, // Use ClientMsg::Connect instead + ClientState::Visitor => {}, // Use ClientMsg::Connect instead ClientState::Connected => client.error_state(RequestStateError::Already), ClientState::Spectator => client.allow_state(ClientState::Connected), ClientState::Character => client.allow_state(ClientState::Connected), }, ClientState::Spectator => match requested_state { - ClientState::Disconnected => {}, // Become Connected first + ClientState::Visitor => {}, // Become Connected first ClientState::Connected => client.allow_state(ClientState::Spectator), ClientState::Spectator => client.error_state(RequestStateError::Already), ClientState::Character => client.allow_state(ClientState::Spectator), @@ -266,17 +266,17 @@ impl Server { ClientState::Character => {}, // Use ClientMsg::Character instead }, ClientMsg::Connect { player } => match client.client_state { - ClientState::Disconnected => Self::initialize_client(state, entity, client, player), + ClientState::Visitor => Self::initialize_client(state, entity, client, player), _ => {}, }, ClientMsg::Character(character) => match client.client_state { - ClientState::Disconnected => {}, + ClientState::Visitor => {}, ClientState::Connected | ClientState::Spectator => Self::create_player_character(state, entity, client, character), ClientState::Character => client.error_state(RequestStateError::Already), }, ClientMsg::Chat(msg) => match client.client_state { - ClientState::Disconnected => {}, + ClientState::Visitor => {}, ClientState::Connected => new_chat_msgs.push((entity, msg)), ClientState::Spectator => new_chat_msgs.push((entity, msg)), ClientState::Character => new_chat_msgs.push((entity, msg)), @@ -296,7 +296,7 @@ impl Server { _ => disconnect = true, }, ClientMsg::TerrainChunkRequest { key } => match client.client_state { - ClientState::Disconnected => {}, + ClientState::Visitor => {}, ClientState::Connected => disconnect = true, ClientState::Spectator | ClientState::Character => { match state.terrain().get_key(key) { @@ -327,7 +327,7 @@ impl Server { if disconnect { disconnected_clients.push(entity); client.postbox.send_message(ServerMsg::StateAnswer( - Err((RequestStateError::Impossible, ClientState::Disconnected)))); + Err((RequestStateError::Impossible, ClientState::Visitor)))); true } else { false