azurlane_tech_research/
restriction.rs1
2
3#[derive(Debug, Clone, Copy)]
4#[repr(C)]
5pub struct Restriction {
6 pub doubloon_ratio: f64,
7 pub cube_ratio: f64,
8 pub cong_chips_ratio: f64,
9 pub time_ratio: f64,
10 pub ultra_blp_ratio: f64,
11 pub ultra_equip_ratio: f64,
12 pub fni_5_super_r: i8,
13 pub fni_5_ultra_r: i8,
14 pub fni_f: i8,
15 pub do_data_collection: bool,
16 pub do_research_assignment: bool,
17}
18
19impl Restriction {
20 pub fn new() -> Restriction {
21 Restriction {
22 doubloon_ratio: 0.0,
23 cube_ratio: 0.0,
24 cong_chips_ratio: 0.0,
25 time_ratio: 0.0,
26 ultra_blp_ratio: 0.0,
27 ultra_equip_ratio: 0.0,
28 fni_5_super_r: 0,
29 fni_5_ultra_r: 0,
30 fni_f: 0,
31 do_data_collection: true,
32 do_research_assignment: true,
33 }
34 }
35
36 pub fn predef() -> Restriction {
37 Restriction {
38 doubloon_ratio: 0.0,
39 cube_ratio: 110.0,
40 cong_chips_ratio: 0.0,
41 time_ratio: 0.0,
42 ultra_blp_ratio: 3.0,
43 ultra_equip_ratio: 20.0,
44 fni_5_super_r: 0,
45 fni_5_ultra_r: 0,
46 fni_f: 11,
47 do_data_collection: true,
48 do_research_assignment: true,
49 }
50 }
51 pub fn from(
52 doubloon_ratio: f64,
53 cube_ratio: f64,
54 cong_chips_ratio: f64,
55 time_ratio: f64,
56 ultra_blp_ratio: f64,
57 ultra_equip_ratio: f64,
58 fni_5_super_r: i8,
59 fni_5_ultra_r: i8,
60 fni_f: i8,
61 do_data_collection: bool,
62 do_research_assignment: bool,
63 ) -> Restriction {
64 Restriction {
65 doubloon_ratio,
66 cube_ratio,
67 cong_chips_ratio,
68 time_ratio,
69 ultra_blp_ratio,
70 ultra_equip_ratio,
71 fni_5_super_r,
72 fni_5_ultra_r,
73 fni_f,
74 do_data_collection,
75 do_research_assignment,
76 }
77 }
78}
79
80