thedes_domain/
matter.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(
4    Debug,
5    Clone,
6    Copy,
7    PartialEq,
8    Eq,
9    PartialOrd,
10    Ord,
11    Hash,
12    Default,
13    Serialize,
14    Deserialize,
15)]
16pub enum Biome {
17    #[default]
18    Plains,
19    Desert,
20    Wasteland,
21}
22
23impl Biome {
24    pub const COUNT: usize = 3;
25
26    pub const ALL: [Self; Self::COUNT] =
27        [Self::Plains, Self::Desert, Self::Wasteland];
28}
29
30#[derive(
31    Debug,
32    Clone,
33    Copy,
34    PartialEq,
35    Eq,
36    PartialOrd,
37    Ord,
38    Hash,
39    Default,
40    Serialize,
41    Deserialize,
42)]
43pub enum Ground {
44    #[default]
45    Grass,
46    Sand,
47    Stone,
48}
49
50impl Ground {
51    pub const COUNT: usize = 3;
52
53    pub const ALL: [Self; Self::COUNT] = [Self::Grass, Self::Sand, Self::Stone];
54}