azurlane_tech_research/
restriction.rs

1
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