pkt E2, player settings
This commit is contained in:
parent
1d7d4d8205
commit
92ef648c48
@ -89,8 +89,18 @@ impl<DA: DataAccess> CharacterServerState<DA> {
|
||||
}
|
||||
}
|
||||
|
||||
fn get_settings(&mut self) -> Box<PktVec> {
|
||||
pktvec![]
|
||||
fn get_settings(&mut self) -> Vec<SendCharacterPacket> {
|
||||
let user = self.user.as_ref().unwrap();
|
||||
let settings = match self.shared_state.data_access.get_user_settings_by_user(&user) {
|
||||
Some(settings) => settings,
|
||||
None => self.shared_state.data_access.create_user_settings_by_user(&user),
|
||||
};
|
||||
|
||||
let pkt = SendKeyAndTeamSettings::new(settings.settings.key_config,
|
||||
settings.settings.joystick_config, 0, 0);
|
||||
let pkt = SendCharacterPacket::SendKeyAndTeamSettings(pkt);
|
||||
|
||||
vec![pkt]
|
||||
}
|
||||
}
|
||||
|
||||
@ -134,3 +144,53 @@ pub fn new_client<DA: DataAccess + 'static>(socket: mio::tcp::TcpStream, shared_
|
||||
let client = Client::new(socket, Box::new(state));
|
||||
client.io_loop();
|
||||
}
|
||||
|
||||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
use super::*;
|
||||
use crate::models::{EUserSettings, UserSettings};
|
||||
use libpso::character::settings;
|
||||
use std::time::SystemTime;
|
||||
|
||||
#[test]
|
||||
fn test_login() {
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_option_send() {
|
||||
struct TestData {
|
||||
}
|
||||
|
||||
impl DataAccess for TestData {
|
||||
fn get_user_settings_by_user(&self, _user: &UserAccount) -> Option<UserSettings> {
|
||||
Some(UserSettings {
|
||||
id: 0,
|
||||
user_id: 0,
|
||||
settings: EUserSettings(settings::UserSettings::default())
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
let shared = SharedLoginState::new(TestData {});
|
||||
let mut server = CharacterServerState::new(shared);
|
||||
server.user = Some(UserAccount {
|
||||
id: 1,
|
||||
username: "testuser".to_owned(),
|
||||
password: bcrypt::hash("mypassword", 5).unwrap(),
|
||||
guildcard: None,
|
||||
team_id: None,
|
||||
banned: false,
|
||||
muted_until: SystemTime::now(),
|
||||
created_at: SystemTime::now(),
|
||||
});
|
||||
|
||||
let send = server.handle(&RecvCharacterPacket::RequestSettings(RequestSettings {flag: 0})).collect::<Vec<_>>();
|
||||
assert!(send.len() == 1);
|
||||
|
||||
let bytes = send[0].as_bytes();
|
||||
assert!(bytes[2] == 0xE2);
|
||||
assert!(bytes.len() == 0xAFC);
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user