sc2_techtree/requirement.rs
1use serde::{Deserialize, Serialize};
2
3use crate::ids::*;
4
5/// Requirement for an ability
6#[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Eq)]
7pub enum Requirement {
8 /// Requires the specified add-on
9 #[serde(rename = "addon")]
10 AddOn(UnitTypeId),
11 /// Requires that this building is an add-on to the specified building
12 #[serde(rename = "addon_to")]
13 AddOnTo(UnitTypeId),
14 /// Requires that building exists (and is complete)
15 #[serde(rename = "building")]
16 Building(UnitTypeId),
17 /// Requires that an upgrade is completed
18 #[serde(rename = "upgrade")]
19 Upgrade(UpgradeId),
20}