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}