diff --git a/src/login/character.rs b/src/login/character.rs index 29cbea3..54b981e 100644 --- a/src/login/character.rs +++ b/src/login/character.rs @@ -45,16 +45,17 @@ impl RecvServerPacket for RecvCharacterPacket { #[derive(Debug)] pub enum SendCharacterPacket { - //LoginResponse(LoginResponse), + LoginResponse(LoginResponse), LoginWelcome(LoginWelcome), - //RedirectClient(RedirectClient), + SendKeyAndTeamSettings(SendKeyAndTeamSettings), } impl SendServerPacket for SendCharacterPacket { fn as_bytes(&self) -> Vec { match self { - //SendCharacterPacket::LoginResponse(pkt) => pkt.as_bytes(), + SendCharacterPacket::LoginResponse(pkt) => pkt.as_bytes(), SendCharacterPacket::LoginWelcome(pkt) => pkt.as_bytes(), + SendCharacterPacket::SendKeyAndTeamSettings(pkt) => pkt.as_bytes(), //SendLoginPacket::RedirectClient(pkt) => pkt.as_bytes(), } } @@ -73,17 +74,17 @@ impl CharacterServerState { } } - fn validate_login(&mut self, pkt: &Login) -> Box { + fn validate_login(&mut self, pkt: &Login) -> Vec { match get_login_status(&self.shared_state.data_access, pkt) { Ok(user) => { let mut response = LoginResponse::by_status(AccountStatus::Ok, pkt.security_data); response.guildcard = user.guildcard.map_or(0, |gc| gc) as u32; response.team_id = user.team_id.map_or(0, |ti| ti) as u32; self.user = Some(user); - pktvec![response] + vec![SendCharacterPacket::LoginResponse(response)] }, Err(err) => { - pktvec![LoginResponse::by_status(err, pkt.security_data)] + vec![SendCharacterPacket::LoginResponse(LoginResponse::by_status(err, pkt.security_data))] } } } @@ -113,16 +114,14 @@ impl ServerState for CharacterServerState { } fn handle(&mut self, pkt: &RecvCharacterPacket) -> Box> { - println!("[character: recv] {:?}", pkt); - /*match pkt { - CharacterPacket::Login(login) => { - self.validate_login(login) + match pkt { + RecvCharacterPacket::Login(login) => { + Box::new(self.validate_login(login).into_iter()) }, - CharacterPacket::RequestSettings(_req) => { - self.get_settings() + RecvCharacterPacket::RequestSettings(_req) => { + Box::new(self.get_settings().into_iter()) } - }*/ - Box::new(None.into_iter()) + } } }