sc2_techtree/
ids.rs

1use serde::{Deserialize, Serialize};
2
3/// Unit type
4#[derive(Debug, Serialize, Deserialize, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
5pub struct UnitTypeId(u32);
6
7/// Ability
8#[derive(Debug, Serialize, Deserialize, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
9pub struct AbilityId(u32);
10
11/// Upgrade
12#[derive(Debug, Serialize, Deserialize, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
13pub struct UpgradeId(u32);
14
15impl UnitTypeId {
16    /// Create new id from u32
17    pub fn new(v: u32) -> Self {
18        UnitTypeId(v)
19    }
20}
21
22impl AbilityId {
23    /// Create new id from u32
24    pub fn new(v: u32) -> Self {
25        AbilityId(v)
26    }
27}
28
29impl UpgradeId {
30    /// Create new id from u32
31    pub fn new(v: u32) -> Self {
32        UpgradeId(v)
33    }
34}