civ_map_generator 0.1.10

A civilization map generator
Documentation
// Auto-generated by build.rs, DO NOT EDIT
use super::EnumStr;
use enum_map::Enum;
use serde::{Deserialize, Serialize};

#[derive(Enum, PartialEq, Eq, Clone, Copy, Hash, Serialize, Deserialize, Debug)]
pub enum Unit {
    Worker,
    Settler,
    Scout,
    Warrior,
    MaoriWarrior,
    Jaguar,
    Brute,
    Archer,
    Bowman,
    Slinger,
    Atlatlist,
    Skirmisher,
    WorkBoats,
    Trireme,
    Quinquereme,
    Dromon,
    Galley,
    ChariotArcher,
    WarChariot,
    HorseArcher,
    WarElephant,
    Spearman,
    Hoplite,
    PersianImmortal,
    BatteringRam,
    PictishWarrior,
    Marauder,
    Horseman,
    CompanionCavalry,
    AfricanForestElephant,
    Cataphract,
    Catapult,
    Ballista,
    CompositeBowman,
    Swordsman,
    Legion,
    MohawkWarrior,
    Pikeman,
    Landsknecht,
    Galleass,
    Knight,
    CamelArcher,
    Conquistador,
    NaresuansElephant,
    MandekaluCavalry,
    Keshik,
    Crossbowman,
    ChuKoNu,
    Longbowman,
    Trebuchet,
    Hwacha,
    Longswordsman,
    Samurai,
    Berserker,
    Caravel,
    TurtleShip,
    Musketman,
    Musketeer,
    Janissary,
    Minuteman,
    Tercio,
    Privateer,
    SeaBeggar,
    Frigate,
    ShipOfTheLine,
    Lancer,
    Sipahi,
    Hakkapeliitta,
    Cannon,
    GatlingGun,
    Rifleman,
    NorwegianSkiInfantry,
    Carolean,
    MehalSefari,
    Cavalry,
    Cossack,
    Hussar,
    Ironclad,
    Artillery,
    Submarine,
    GreatWarInfantry,
    ForeignLegion,
    Triplane,
    GreatWarBomber,
    Infantry,
    Carrier,
    Battleship,
    MachineGun,
    AntiAircraftGun,
    Landship,
    Destroyer,
    Marine,
    Fighter,
    Zero,
    Bomber,
    B17,
    Paratrooper,
    Tank,
    Panzer,
    AntiTankGun,
    AtomicBomb,
    RocketArtillery,
    MobileSAM,
    GuidedMissile,
    NuclearMissile,
    HelicopterGunship,
    NuclearSubmarine,
    MechanizedInfantry,
    MissileCruiser,
    ModernArmor,
    JetFighter,
    GiantDeathRobot,
    StealthBomber,
    GreatArtist,
    GreatScientist,
    GreatMerchant,
    GreatEngineer,
    GreatProphet,
    GreatGeneral,
    Khan,
    Missionary,
    Inquisitor,
    SSBooster,
    SSCockpit,
    SSEngine,
    SSStasisChamber,
}

impl EnumStr for Unit {
    fn as_str(&self) -> &'static str {
        match self {
            Unit::Worker => "Worker",
            Unit::Settler => "Settler",
            Unit::Scout => "Scout",
            Unit::Warrior => "Warrior",
            Unit::MaoriWarrior => "Maori Warrior",
            Unit::Jaguar => "Jaguar",
            Unit::Brute => "Brute",
            Unit::Archer => "Archer",
            Unit::Bowman => "Bowman",
            Unit::Slinger => "Slinger",
            Unit::Atlatlist => "Atlatlist",
            Unit::Skirmisher => "Skirmisher",
            Unit::WorkBoats => "Work Boats",
            Unit::Trireme => "Trireme",
            Unit::Quinquereme => "Quinquereme",
            Unit::Dromon => "Dromon",
            Unit::Galley => "Galley",
            Unit::ChariotArcher => "Chariot Archer",
            Unit::WarChariot => "War Chariot",
            Unit::HorseArcher => "Horse Archer",
            Unit::WarElephant => "War Elephant",
            Unit::Spearman => "Spearman",
            Unit::Hoplite => "Hoplite",
            Unit::PersianImmortal => "Persian Immortal",
            Unit::BatteringRam => "Battering Ram",
            Unit::PictishWarrior => "Pictish Warrior",
            Unit::Marauder => "Marauder",
            Unit::Horseman => "Horseman",
            Unit::CompanionCavalry => "Companion Cavalry",
            Unit::AfricanForestElephant => "African Forest Elephant",
            Unit::Cataphract => "Cataphract",
            Unit::Catapult => "Catapult",
            Unit::Ballista => "Ballista",
            Unit::CompositeBowman => "Composite Bowman",
            Unit::Swordsman => "Swordsman",
            Unit::Legion => "Legion",
            Unit::MohawkWarrior => "Mohawk Warrior",
            Unit::Pikeman => "Pikeman",
            Unit::Landsknecht => "Landsknecht",
            Unit::Galleass => "Galleass",
            Unit::Knight => "Knight",
            Unit::CamelArcher => "Camel Archer",
            Unit::Conquistador => "Conquistador",
            Unit::NaresuansElephant => "Naresuan's Elephant",
            Unit::MandekaluCavalry => "Mandekalu Cavalry",
            Unit::Keshik => "Keshik",
            Unit::Crossbowman => "Crossbowman",
            Unit::ChuKoNu => "Chu-Ko-Nu",
            Unit::Longbowman => "Longbowman",
            Unit::Trebuchet => "Trebuchet",
            Unit::Hwacha => "Hwach'a",
            Unit::Longswordsman => "Longswordsman",
            Unit::Samurai => "Samurai",
            Unit::Berserker => "Berserker",
            Unit::Caravel => "Caravel",
            Unit::TurtleShip => "Turtle Ship",
            Unit::Musketman => "Musketman",
            Unit::Musketeer => "Musketeer",
            Unit::Janissary => "Janissary",
            Unit::Minuteman => "Minuteman",
            Unit::Tercio => "Tercio",
            Unit::Privateer => "Privateer",
            Unit::SeaBeggar => "Sea Beggar",
            Unit::Frigate => "Frigate",
            Unit::ShipOfTheLine => "Ship of the Line",
            Unit::Lancer => "Lancer",
            Unit::Sipahi => "Sipahi",
            Unit::Hakkapeliitta => "Hakkapeliitta",
            Unit::Cannon => "Cannon",
            Unit::GatlingGun => "Gatling Gun",
            Unit::Rifleman => "Rifleman",
            Unit::NorwegianSkiInfantry => "Norwegian Ski Infantry",
            Unit::Carolean => "Carolean",
            Unit::MehalSefari => "Mehal Sefari",
            Unit::Cavalry => "Cavalry",
            Unit::Cossack => "Cossack",
            Unit::Hussar => "Hussar",
            Unit::Ironclad => "Ironclad",
            Unit::Artillery => "Artillery",
            Unit::Submarine => "Submarine",
            Unit::GreatWarInfantry => "Great War Infantry",
            Unit::ForeignLegion => "Foreign Legion",
            Unit::Triplane => "Triplane",
            Unit::GreatWarBomber => "Great War Bomber",
            Unit::Infantry => "Infantry",
            Unit::Carrier => "Carrier",
            Unit::Battleship => "Battleship",
            Unit::MachineGun => "Machine Gun",
            Unit::AntiAircraftGun => "Anti-Aircraft Gun",
            Unit::Landship => "Landship",
            Unit::Destroyer => "Destroyer",
            Unit::Marine => "Marine",
            Unit::Fighter => "Fighter",
            Unit::Zero => "Zero",
            Unit::Bomber => "Bomber",
            Unit::B17 => "B17",
            Unit::Paratrooper => "Paratrooper",
            Unit::Tank => "Tank",
            Unit::Panzer => "Panzer",
            Unit::AntiTankGun => "Anti-Tank Gun",
            Unit::AtomicBomb => "Atomic Bomb",
            Unit::RocketArtillery => "Rocket Artillery",
            Unit::MobileSAM => "Mobile SAM",
            Unit::GuidedMissile => "Guided Missile",
            Unit::NuclearMissile => "Nuclear Missile",
            Unit::HelicopterGunship => "Helicopter Gunship",
            Unit::NuclearSubmarine => "Nuclear Submarine",
            Unit::MechanizedInfantry => "Mechanized Infantry",
            Unit::MissileCruiser => "Missile Cruiser",
            Unit::ModernArmor => "Modern Armor",
            Unit::JetFighter => "Jet Fighter",
            Unit::GiantDeathRobot => "Giant Death Robot",
            Unit::StealthBomber => "Stealth Bomber",
            Unit::GreatArtist => "Great Artist",
            Unit::GreatScientist => "Great Scientist",
            Unit::GreatMerchant => "Great Merchant",
            Unit::GreatEngineer => "Great Engineer",
            Unit::GreatProphet => "Great Prophet",
            Unit::GreatGeneral => "Great General",
            Unit::Khan => "Khan",
            Unit::Missionary => "Missionary",
            Unit::Inquisitor => "Inquisitor",
            Unit::SSBooster => "SS Booster",
            Unit::SSCockpit => "SS Cockpit",
            Unit::SSEngine => "SS Engine",
            Unit::SSStasisChamber => "SS Stasis Chamber",
        }
    }

    fn from_str(s: &str) -> Self {
        match s {
            "Worker" => Unit::Worker,
            "Settler" => Unit::Settler,
            "Scout" => Unit::Scout,
            "Warrior" => Unit::Warrior,
            "Maori Warrior" => Unit::MaoriWarrior,
            "Jaguar" => Unit::Jaguar,
            "Brute" => Unit::Brute,
            "Archer" => Unit::Archer,
            "Bowman" => Unit::Bowman,
            "Slinger" => Unit::Slinger,
            "Atlatlist" => Unit::Atlatlist,
            "Skirmisher" => Unit::Skirmisher,
            "Work Boats" => Unit::WorkBoats,
            "Trireme" => Unit::Trireme,
            "Quinquereme" => Unit::Quinquereme,
            "Dromon" => Unit::Dromon,
            "Galley" => Unit::Galley,
            "Chariot Archer" => Unit::ChariotArcher,
            "War Chariot" => Unit::WarChariot,
            "Horse Archer" => Unit::HorseArcher,
            "War Elephant" => Unit::WarElephant,
            "Spearman" => Unit::Spearman,
            "Hoplite" => Unit::Hoplite,
            "Persian Immortal" => Unit::PersianImmortal,
            "Battering Ram" => Unit::BatteringRam,
            "Pictish Warrior" => Unit::PictishWarrior,
            "Marauder" => Unit::Marauder,
            "Horseman" => Unit::Horseman,
            "Companion Cavalry" => Unit::CompanionCavalry,
            "African Forest Elephant" => Unit::AfricanForestElephant,
            "Cataphract" => Unit::Cataphract,
            "Catapult" => Unit::Catapult,
            "Ballista" => Unit::Ballista,
            "Composite Bowman" => Unit::CompositeBowman,
            "Swordsman" => Unit::Swordsman,
            "Legion" => Unit::Legion,
            "Mohawk Warrior" => Unit::MohawkWarrior,
            "Pikeman" => Unit::Pikeman,
            "Landsknecht" => Unit::Landsknecht,
            "Galleass" => Unit::Galleass,
            "Knight" => Unit::Knight,
            "Camel Archer" => Unit::CamelArcher,
            "Conquistador" => Unit::Conquistador,
            "Naresuan's Elephant" => Unit::NaresuansElephant,
            "Mandekalu Cavalry" => Unit::MandekaluCavalry,
            "Keshik" => Unit::Keshik,
            "Crossbowman" => Unit::Crossbowman,
            "Chu-Ko-Nu" => Unit::ChuKoNu,
            "Longbowman" => Unit::Longbowman,
            "Trebuchet" => Unit::Trebuchet,
            "Hwach'a" => Unit::Hwacha,
            "Longswordsman" => Unit::Longswordsman,
            "Samurai" => Unit::Samurai,
            "Berserker" => Unit::Berserker,
            "Caravel" => Unit::Caravel,
            "Turtle Ship" => Unit::TurtleShip,
            "Musketman" => Unit::Musketman,
            "Musketeer" => Unit::Musketeer,
            "Janissary" => Unit::Janissary,
            "Minuteman" => Unit::Minuteman,
            "Tercio" => Unit::Tercio,
            "Privateer" => Unit::Privateer,
            "Sea Beggar" => Unit::SeaBeggar,
            "Frigate" => Unit::Frigate,
            "Ship of the Line" => Unit::ShipOfTheLine,
            "Lancer" => Unit::Lancer,
            "Sipahi" => Unit::Sipahi,
            "Hakkapeliitta" => Unit::Hakkapeliitta,
            "Cannon" => Unit::Cannon,
            "Gatling Gun" => Unit::GatlingGun,
            "Rifleman" => Unit::Rifleman,
            "Norwegian Ski Infantry" => Unit::NorwegianSkiInfantry,
            "Carolean" => Unit::Carolean,
            "Mehal Sefari" => Unit::MehalSefari,
            "Cavalry" => Unit::Cavalry,
            "Cossack" => Unit::Cossack,
            "Hussar" => Unit::Hussar,
            "Ironclad" => Unit::Ironclad,
            "Artillery" => Unit::Artillery,
            "Submarine" => Unit::Submarine,
            "Great War Infantry" => Unit::GreatWarInfantry,
            "Foreign Legion" => Unit::ForeignLegion,
            "Triplane" => Unit::Triplane,
            "Great War Bomber" => Unit::GreatWarBomber,
            "Infantry" => Unit::Infantry,
            "Carrier" => Unit::Carrier,
            "Battleship" => Unit::Battleship,
            "Machine Gun" => Unit::MachineGun,
            "Anti-Aircraft Gun" => Unit::AntiAircraftGun,
            "Landship" => Unit::Landship,
            "Destroyer" => Unit::Destroyer,
            "Marine" => Unit::Marine,
            "Fighter" => Unit::Fighter,
            "Zero" => Unit::Zero,
            "Bomber" => Unit::Bomber,
            "B17" => Unit::B17,
            "Paratrooper" => Unit::Paratrooper,
            "Tank" => Unit::Tank,
            "Panzer" => Unit::Panzer,
            "Anti-Tank Gun" => Unit::AntiTankGun,
            "Atomic Bomb" => Unit::AtomicBomb,
            "Rocket Artillery" => Unit::RocketArtillery,
            "Mobile SAM" => Unit::MobileSAM,
            "Guided Missile" => Unit::GuidedMissile,
            "Nuclear Missile" => Unit::NuclearMissile,
            "Helicopter Gunship" => Unit::HelicopterGunship,
            "Nuclear Submarine" => Unit::NuclearSubmarine,
            "Mechanized Infantry" => Unit::MechanizedInfantry,
            "Missile Cruiser" => Unit::MissileCruiser,
            "Modern Armor" => Unit::ModernArmor,
            "Jet Fighter" => Unit::JetFighter,
            "Giant Death Robot" => Unit::GiantDeathRobot,
            "Stealth Bomber" => Unit::StealthBomber,
            "Great Artist" => Unit::GreatArtist,
            "Great Scientist" => Unit::GreatScientist,
            "Great Merchant" => Unit::GreatMerchant,
            "Great Engineer" => Unit::GreatEngineer,
            "Great Prophet" => Unit::GreatProphet,
            "Great General" => Unit::GreatGeneral,
            "Khan" => Unit::Khan,
            "Missionary" => Unit::Missionary,
            "Inquisitor" => Unit::Inquisitor,
            "SS Booster" => Unit::SSBooster,
            "SS Cockpit" => Unit::SSCockpit,
            "SS Engine" => Unit::SSEngine,
            "SS Stasis Chamber" => Unit::SSStasisChamber,
            _ => panic!("Invalid value for {}: {{}}", s),
        }
    }
}