artifacts/models/
map_content_type.rs1use crate::models;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
5#[cfg_attr(feature = "specta", derive(specta::Type))]
6pub enum MapContentType {
7    #[serde(rename = "monster")]
8    Monster,
9    #[serde(rename = "resource")]
10    Resource,
11    #[serde(rename = "workshop")]
12    Workshop,
13    #[serde(rename = "bank")]
14    Bank,
15    #[serde(rename = "grand_exchange")]
16    GrandExchange,
17    #[serde(rename = "tasks_master")]
18    TasksMaster,
19    #[serde(rename = "npc")]
20    Npc,
21}
22
23impl std::fmt::Display for MapContentType {
24    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
25        match self {
26            Self::Monster => write!(f, "monster"),
27            Self::Resource => write!(f, "resource"),
28            Self::Workshop => write!(f, "workshop"),
29            Self::Bank => write!(f, "bank"),
30            Self::GrandExchange => write!(f, "grand_exchange"),
31            Self::TasksMaster => write!(f, "tasks_master"),
32            Self::Npc => write!(f, "npc"),
33        }
34    }
35}
36
37impl Default for MapContentType {
38    fn default() -> MapContentType {
39        Self::Monster
40    }
41}