首发于Enaium的个人博客
我们需要声明几个结构体来存储游戏的资源信息,之后我们需要将json
文件解析成这几个结构体,所以我们需要添加serde
依赖。
serde = { version = "1.0", features = ["derive"] }
资源相关asset.rs
use serde::Deserialize;
use std::collections::HashMap;
#[derive(Deserialize)]
pub struct AssetIndex {
pub id: String,
pub sha1: String,
pub size: u32,
#[serde(alias = "totalSize")]
pub total_size: u32,
pub url: String,
}
#[derive(Deserialize)]
pub struct Index {
pub objects: HashMap<String, Object>,
}
#[derive(Deserialize)]
pub struct Object {
pub hash: String,