game-scanner 1.0.5

Game Scanner for any launcher and OS
pub enum BlizzardGames {
    StarCraft,
    StarCraftII,
    WorldOfWarcraft,
    WorldOfWarcraftClassic,
    Overwatch,
    WarcraftIII,
    Hearthstone,
    HeroesOfTheStorm,
    DiabloIII,
    CallOfDutyBlackOps4,
    CallOfDutyModernWarfare,
    CallOfDutyMW2CampaignRemastered,
    CallOfDutyBlackOpsColdWar,
    BlizzardArcadeCollection,
    CrashBandicoot4ItsAboutTime,
    Unknown,
}

impl BlizzardGames {
    pub fn get_code(&self) -> &'static str {
        match self {
            Self::StarCraft => "S1",
            Self::StarCraftII => "S2",
            Self::WorldOfWarcraft => "WoW",
            Self::WorldOfWarcraftClassic => "WoW_wow_classic",
            Self::Overwatch => "Pro",
            Self::WarcraftIII => "W3",
            Self::Hearthstone => "WTCG",
            Self::HeroesOfTheStorm => "Hero",
            Self::DiabloIII => "D3",
            Self::CallOfDutyBlackOps4 => "VIPR",
            Self::CallOfDutyModernWarfare => "ODIN",
            Self::CallOfDutyMW2CampaignRemastered => "LAZR",
            Self::CallOfDutyBlackOpsColdWar => "ZEUS",
            Self::BlizzardArcadeCollection => "RTRO",
            Self::CrashBandicoot4ItsAboutTime => "CB4",
            Self::Unknown => "unknown",
        }
    }

    pub fn from_uid(uid: &str) -> BlizzardGames {
        match uid {
            "s1" => Self::StarCraft,
            "s2" => Self::StarCraftII,
            "wow" => Self::WorldOfWarcraft,
            "wow_classic" => Self::WorldOfWarcraftClassic,
            "prometheus" => Self::Overwatch,
            "w3" => Self::WarcraftIII,
            "hs_beta" => Self::Hearthstone,
            "heroes" => Self::HeroesOfTheStorm,
            "diablo3" => Self::DiabloIII,
            "viper" => Self::CallOfDutyBlackOps4,
            "odin" => Self::CallOfDutyModernWarfare,
            "lazarus" => Self::CallOfDutyMW2CampaignRemastered,
            "zeus" => Self::CallOfDutyBlackOpsColdWar,
            "rtro" => Self::BlizzardArcadeCollection,
            "cb4" => Self::CrashBandicoot4ItsAboutTime,
            _ => Self::Unknown,
        }
    }
}