mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Cleaned code
Refactored code for readability
This commit is contained in:
parent
eb80459872
commit
29f230d23e
@ -18,6 +18,7 @@ pub mod comp;
|
||||
pub mod figure;
|
||||
pub mod inventory;
|
||||
pub mod msg;
|
||||
pub mod npc;
|
||||
pub mod ray;
|
||||
pub mod state;
|
||||
pub mod sys;
|
||||
@ -25,7 +26,6 @@ pub mod terrain;
|
||||
pub mod util;
|
||||
pub mod vol;
|
||||
pub mod volumes;
|
||||
pub mod npc;
|
||||
|
||||
/// The networking module containing high-level wrappers of `TcpListener` and `TcpStream` (`PostOffice` and `PostBox` respectively) and data types used by both the server and client.
|
||||
/// # Examples
|
||||
|
@ -1,26 +1,30 @@
|
||||
use serde_json;
|
||||
use rand::seq::SliceRandom;
|
||||
use serde_json;
|
||||
use std::fs::File;
|
||||
use std::io::Error;
|
||||
|
||||
pub enum NpcKind {
|
||||
Wolf,
|
||||
Pig
|
||||
Pig,
|
||||
}
|
||||
|
||||
impl NpcKind {
|
||||
fn as_str(&self) -> &'static str {
|
||||
match *self {
|
||||
NpcKind::Wolf => "wolf",
|
||||
NpcKind::Pig => "pig"
|
||||
NpcKind::Pig => "pig",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const npc_names_dir: &str = "common/assets/npc_names.json";
|
||||
|
||||
pub fn get_npc_name(npc_type: NpcKind) -> String {
|
||||
let file = File::open("common/assets/npc_names.json").expect("file should open read only");
|
||||
let json: serde_json::Value =
|
||||
serde_json::from_reader(file).expect("file should be proper JSON");
|
||||
let npc_names = json
|
||||
let npc_names_file =
|
||||
File::open(npc_names_dir).expect(&format!("opening {} in read-only mode", npc_names_dir));
|
||||
let npc_names_json: serde_json::Value = serde_json::from_reader(npc_names_file)
|
||||
.expect(&format!("reading json contents from {}", npc_names_dir));
|
||||
let npc_names = npc_names_json
|
||||
.get(npc_type.as_str())
|
||||
.expect("accessing json using NPC type provided as key")
|
||||
.as_array()
|
||||
|
@ -3,7 +3,11 @@
|
||||
//! and provide a handler function.
|
||||
|
||||
use crate::Server;
|
||||
use common::{comp, msg::ServerMsg, npc::{NpcKind, get_npc_name}};
|
||||
use common::{
|
||||
comp,
|
||||
msg::ServerMsg,
|
||||
npc::{get_npc_name, NpcKind},
|
||||
};
|
||||
use specs::{Builder, Entity as EcsEntity, Join};
|
||||
use vek::*;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user