mirror of https://github.com/MingweiSamuel/Riven
35 lines
756 B
Plaintext
35 lines
756 B
Plaintext
|
{{
|
||
|
const dotUtils = require('./dotUtils.js');
|
||
|
const gameModes = require('./.gameModes.json');
|
||
|
}}{{= dotUtils.preamble() }}
|
||
|
|
||
|
use strum_macros::{ EnumString, IntoStaticStr };
|
||
|
|
||
|
/// League of Legends game mode, such as Classic,
|
||
|
/// ARAM, URF, One For All, Ascension, etc.
|
||
|
#[non_exhaustive]
|
||
|
#[derive(Debug, Clone)]
|
||
|
#[derive(Eq, PartialEq, Hash)]
|
||
|
#[derive(EnumString, IntoStaticStr)]
|
||
|
#[repr(u8)]
|
||
|
pub enum GameMode {
|
||
|
// Catch-all variant for new, unknown game modes.
|
||
|
#[strum(default)]
|
||
|
UNKNOWN(String),
|
||
|
|
||
|
{{
|
||
|
for (const e of gameModes) {
|
||
|
const desc = e['x-desc'] ? e['x-desc'].split('\n') : [];
|
||
|
}}
|
||
|
{{~ desc :line }}
|
||
|
/// {{= line }}
|
||
|
{{~}}
|
||
|
{{= e['x-name'] }},
|
||
|
{{
|
||
|
}
|
||
|
}}
|
||
|
}
|
||
|
|
||
|
string_enum_str!(GameMode);
|
||
|
serde_string!(GameMode);
|