Fixing errors after rebase

This commit is contained in:
Forest Anderson 2020-06-27 19:12:12 -04:00
parent 883d9acf30
commit 2665159790
6 changed files with 30 additions and 37 deletions

View File

@ -1013,7 +1013,7 @@ impl Client {
self.entity = entity_builder.with(uid).build();
}
/// Format a message for the client (voxygen chat box or chat-cli)
pub fn format_message(&self, msg: &comp::ChatMsg, character_name: bool) -> String {
let comp::ChatMsg { chat_type, message } = &msg;

View File

@ -280,7 +280,11 @@ impl ChatCommand {
"Spawn entity with light",
Admin,
),
ChatCommand::Motd => cmd(vec![Message], "View the server description", false),
ChatCommand::Motd => cmd(
vec![Message(Optional)],
"View the server description",
NoAdmin,
),
ChatCommand::Object => cmd(
vec![Enum("object", OBJECTS.clone(), Required)],
"Spawn an object",
@ -307,7 +311,9 @@ impl ChatCommand {
"Set player Level",
Admin,
),
ChatCommand::SetMotd => cmd(vec![Message], "Set the server description", true),
ChatCommand::SetMotd => {
cmd(vec![Message(Optional)], "Set the server description", Admin)
},
ChatCommand::Spawn => cmd(
vec![
Enum("alignment", ALIGNMENTS.clone(), Required),

View File

@ -185,7 +185,7 @@ fn handle_motd(
) {
server.notify_client(
client,
ServerMsg::broadcast(server.settings().server_description.clone()),
ChatType::CommandError.server_msg(server.settings().server_description.clone()),
);
}
@ -203,14 +203,14 @@ fn handle_set_motd(
.edit(|s| s.server_description = msg.clone());
server.notify_client(
client,
ServerMsg::private(format!("Server description set to \"{}\"", msg)),
ChatType::CommandError.server_msg(format!("Server description set to \"{}\"", msg)),
);
},
Err(_) => {
server.settings_mut().edit(|s| s.server_description.clear());
server.notify_client(
client,
ServerMsg::private("Removed server description".to_string()),
ChatType::CommandError.server_msg("Removed server description".to_string()),
);
},
}

View File

@ -110,9 +110,6 @@ impl Server {
.insert(persistence::character::CharacterUpdater::new(
settings.persistence_db_dir.clone(),
));
state.ecs_mut().insert(crate::settings::PersistenceDBDir(
settings.persistence_db_dir.clone(),
));
state
.ecs_mut()
.insert(comp::AdminList(settings.admins.clone()));

View File

@ -46,13 +46,6 @@ pub trait StateExt {
/// Performed after loading component data from the database
fn update_character_data(&mut self, entity: EcsEntity, components: PersistedComponents);
/// Iterates over registered clients and send each `ServerMsg`
fn create_player_character(
&mut self,
entity: EcsEntity,
character_id: i32,
body: comp::Body,
server_settings: &ServerSettings,
);
fn send_chat(&self, msg: comp::ChatMsg);
fn notify_registered_clients(&self, msg: ServerMsg);
/// Delete an entity, recording the deletion in [`DeletedEntities`]

View File

@ -49,7 +49,6 @@ impl<'a> System<'a> for Sys {
WriteStorage<'a, Player>,
WriteStorage<'a, Client>,
WriteStorage<'a, Controller>,
WriteStorage<'a, SpeechBubble>,
Read<'a, ServerSettings>,
);
@ -80,7 +79,6 @@ impl<'a> System<'a> for Sys {
mut players,
mut clients,
mut controllers,
mut speech_bubbles,
settings,
): Self::SystemData,
) {
@ -88,13 +86,13 @@ impl<'a> System<'a> for Sys {
let mut server_emitter = server_event_bus.emitter();
let mut new_chat_msgs = Vec::new();
let mut new_chat_msgs: Vec<(Option<specs::Entity>, ChatMsg)> = Vec::new();
// Player list to send new players.
let player_list = (&uids, &players, stats.maybe(), admins.maybe())
.join()
.map(|(uid, player, stats, admin)| {
(*uid, PlayerInfo {
((*uid).into(), PlayerInfo {
is_online: true,
is_admin: admin.is_some(),
player_alias: player.alias.clone(),
@ -164,7 +162,7 @@ impl<'a> System<'a> for Sys {
let vd = view_distance
.map(|vd| vd.min(settings.max_view_distance.unwrap_or(vd)));
let player = Player::new(username, None, vd, uuid);
let player = Player::new(username.clone(), None, vd, uuid);
let is_admin = admin_list.contains(&username);
if !player.is_valid() {
@ -268,21 +266,19 @@ impl<'a> System<'a> for Sys {
// Give the player a welcome message
if settings.server_description.len() > 0 {
client.notify(ServerMsg::broadcast(
settings.server_description.clone(),
));
client.notify(
ChatType::Online
.server_msg(settings.server_description.clone()),
);
}
// Only send login message if it wasn't already
// sent previously
if !client.login_msg_sent {
new_chat_msgs.push((
None,
ServerMsg::broadcast(format!(
"[{}] is now online.",
&player.alias
)),
));
new_chat_msgs.push((None, ChatMsg {
chat_type: ChatType::Online,
message: format!("[{}] is now online.", &player.alias),
}));
client.login_msg_sent = true;
}
@ -464,12 +460,13 @@ impl<'a> System<'a> for Sys {
// Tell all clients to add them to the player list.
for entity in new_players {
if let (Some(uid), Some(player)) = (uids.get(entity), players.get(entity)) {
let msg = ServerMsg::PlayerListUpdate(PlayerListUpdate::Add(*uid, PlayerInfo {
player_alias: player.alias.clone(),
is_online: true,
is_admin: admins.get(entity).is_some(),
character: None, // new players will be on character select.
}));
let msg =
ServerMsg::PlayerListUpdate(PlayerListUpdate::Add((*uid).into(), PlayerInfo {
player_alias: player.alias.clone(),
is_online: true,
is_admin: admins.get(entity).is_some(),
character: None, // new players will be on character select.
}));
for client in (&mut clients).join().filter(|c| c.is_registered()) {
client.notify(msg.clone())
}