rgc_chart/models/generic/
chartinfo.rs1use crate::wasm_bindgen;
2
3#[wasm_bindgen]
4#[derive(Debug, Clone)]
5pub struct ChartInfo {
6 #[wasm_bindgen(getter_with_clone)]
7 pub difficulty_name: String,
8 #[wasm_bindgen(getter_with_clone)]
9 pub od: f32,
10 #[wasm_bindgen(getter_with_clone)]
11 pub hp: f32,
12 #[wasm_bindgen(getter_with_clone)]
13 pub bg_path: String,
14 #[wasm_bindgen(getter_with_clone)]
15 pub video_path: String,
16 #[wasm_bindgen(getter_with_clone)]
17 pub song_path: String,
18 #[wasm_bindgen(getter_with_clone)]
19 pub audio_offset: i32,
20 #[wasm_bindgen(getter_with_clone)]
21 pub preview_time: i32,
22 #[wasm_bindgen(getter_with_clone)]
23 pub key_count: u8,
24}
25
26#[allow(clippy::too_many_arguments)]
27#[wasm_bindgen]
28impl ChartInfo {
29 pub fn new(
30 difficulty_name: String,
31 hp: f32,
32 od: f32,
33 bg_path: String,
34 video_path: String,
35 song_path: String,
36 audio_offset: i32,
37 preview_time: i32,
38 key_count: u8,
39 ) -> Self {
40 Self {
41 difficulty_name,
42 hp,
43 od,
44 video_path,
45 bg_path,
46 song_path,
47 audio_offset,
48 preview_time,
49 key_count,
50 }
51 }
52
53 pub fn empty() -> Self {
54 Self {
55 difficulty_name: String::with_capacity(20),
56 hp: 8.0,
57 od: 8.0,
58 bg_path: String::with_capacity(20),
59 video_path: String::with_capacity(20),
60 song_path: String::with_capacity(10),
61 audio_offset: 0,
62 preview_time: 0,
63 key_count: 4,
64 }
65 }
66}