forked from mirror/Riven
37 lines
1.0 KiB
Plaintext
37 lines
1.0 KiB
Plaintext
{{
|
|
const dotUtils = require('./dotUtils.js');
|
|
const maps = require('./.maps.json');
|
|
const groupedMaps = maps.groupBy(({ mapName }) =>
|
|
dotUtils.changeCase.constantCase(mapName.replace(/[ ']+/, '')));
|
|
}}{{= dotUtils.preamble() }}
|
|
|
|
use serde_repr::{ Serialize_repr, Deserialize_repr };
|
|
use num_enum::{ IntoPrimitive, TryFromPrimitive };
|
|
|
|
/// League of Legends maps.
|
|
#[cfg_attr(feature = "nightly", non_exhaustive)]
|
|
#[derive(Debug, Copy, Clone)]
|
|
#[derive(Eq, PartialEq, Hash, PartialOrd, Ord)]
|
|
#[derive(Serialize_repr, Deserialize_repr)]
|
|
#[derive(IntoPrimitive, TryFromPrimitive)]
|
|
#[repr(u8)]
|
|
pub enum Map {
|
|
{{
|
|
for (const [ groupName, colMaps ] of groupedMaps) {
|
|
}}
|
|
|
|
{{
|
|
for (const [ i, { mapId, mapName, notes } ] of colMaps.entries()) {
|
|
let name = groupName;
|
|
if (i != colMaps.length - 1)
|
|
name += '_' + dotUtils.changeCase.constantCase(notes);
|
|
}}
|
|
/// {{= mapName }}
|
|
/// <br>{{= notes }}
|
|
{{= name }} = {{= mapId }},
|
|
{{
|
|
}
|
|
}
|
|
}}
|
|
}
|