khguide/src/kh2.rs

48 lines
1.0 KiB
Rust
Raw Normal View History

use std::sync::OnceLock;
2025-02-08 13:35:55 +02:00
use askama::Template;
use blake3::Hash;
2025-02-08 13:35:55 +02:00
use crate::{RuntimeModule, common::materials::MaterialDrops, create_file, create_hashes};
2025-02-08 13:35:55 +02:00
const MATERIAL_KINDS: &[&str] = &[
2025-02-09 13:51:00 +02:00
"blazing",
"bright",
"dark",
"dense",
"energy",
"frost",
"lightning",
"lucid",
"power",
"remembrance",
"serenity",
"twilight",
];
const DROPS_PATH: &str = "./input/kh2/drops";
static JS_HASH: OnceLock<Hash> = OnceLock::new();
2025-02-08 19:09:16 +02:00
2025-02-08 13:35:55 +02:00
#[derive(Template)]
#[template(path = "pages/kh2/drops.html")]
struct DropsTemplate {
pub drops: Vec<MaterialDrops>,
}
pub struct Module;
2025-02-08 13:35:55 +02:00
impl RuntimeModule for Module {
fn start_module() {
tracing::info!("Loading enemy drops data from {}", DROPS_PATH);
// let drops = MaterialDrops::import(DROPS_PATH);
2025-02-08 13:35:55 +02:00
tracing::info!("Generating the KH2 drops template");
// let drops_template = DropsTemplate { drops };
// create_file("./out/kh2", "drops", drops_template.render().unwrap()).unwrap();
}
fn get_js_hash() -> String {
JS_HASH.get_or_init(|| create_hashes("kh2")).to_string()
}
2025-02-08 13:35:55 +02:00
}