remove unwraps in ship on_disconnect
This commit is contained in:
parent
498cf4ef43
commit
ce3e58d459
@ -22,7 +22,7 @@ use crate::entity::gateway::{EntityGateway, GatewayError};
|
||||
use crate::entity::account::{UserAccountEntity, UserSettingsEntity};
|
||||
use crate::entity::character::{CharacterEntity, SectionID};
|
||||
|
||||
use crate::ship::location::{ClientLocation, RoomLobby, MAX_ROOMS, ClientLocationError};
|
||||
use crate::ship::location::{ClientLocation, RoomLobby, MAX_ROOMS, ClientLocationError, GetNeighborError, GetClientsError, GetAreaError};
|
||||
|
||||
use crate::ship::items;
|
||||
use crate::ship::room;
|
||||
@ -45,6 +45,9 @@ pub enum ShipError {
|
||||
InvalidSlot(ClientId, u32),
|
||||
TooManyClients,
|
||||
ClientLocationError(#[from] ClientLocationError),
|
||||
GetNeighborError(#[from] GetNeighborError),
|
||||
GetClientsError(#[from] GetClientsError),
|
||||
GetAreaError(#[from] GetAreaError),
|
||||
MapsError(#[from] MapsError),
|
||||
MapAreaError(#[from] MapAreaError),
|
||||
InvalidRoom(u32),
|
||||
@ -582,11 +585,11 @@ impl<EG: EntityGateway> ServerState for ShipServerState<EG> {
|
||||
|
||||
async fn on_disconnect(&mut self, id: ClientId) -> Result<Vec<(ClientId, SendShipPacket)>, ShipError> {
|
||||
// TODO: don't unwrap!
|
||||
let client = self.clients.get(&id).unwrap();
|
||||
let area_client = self.client_location.get_local_client(id).unwrap();
|
||||
let neighbors = self.client_location.get_client_neighbors(id).unwrap();
|
||||
let client = self.clients.get(&id).ok_or(ShipError::ClientNotFound(id))?;
|
||||
let area_client = self.client_location.get_local_client(id)?;
|
||||
let neighbors = self.client_location.get_client_neighbors(id)?;
|
||||
|
||||
let pkt = match self.client_location.get_area(id).unwrap() {
|
||||
let pkt = match self.client_location.get_area(id)? {
|
||||
RoomLobby::Room(room) => {
|
||||
if neighbors.len() == 0 {
|
||||
self.rooms[room.0] = None;
|
||||
|
Loading…
x
Reference in New Issue
Block a user