Riven/srcgen/consts/map.rs.dt

36 lines
1008 B
Plaintext
Raw Normal View History

2019-10-26 02:52:43 +00:00
{{
const dotUtils = require('./dotUtils.js');
const maps = require('./.maps.json');
const groupedMaps = maps.groupBy(({ mapName }) =>
dotUtils.changeCase.constantCase(mapName.replace(/[ ']+/, '')));
2019-10-26 02:52:43 +00:00
}}{{= dotUtils.preamble() }}
2019-10-26 05:19:00 +00:00
use serde_repr::{ Serialize_repr, Deserialize_repr };
use num_enum::{ IntoPrimitive, TryFromPrimitive };
2019-10-26 05:19:00 +00:00
2019-10-26 02:52:43 +00:00
/// League of Legends maps.
#[derive(Debug, Copy, Clone)]
#[derive(Eq, PartialEq, Hash, PartialOrd, Ord)]
2019-10-26 05:19:00 +00:00
#[derive(Serialize_repr, Deserialize_repr)]
#[derive(IntoPrimitive, TryFromPrimitive)]
2019-10-26 02:52:43 +00:00
#[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);
2019-10-26 02:52:43 +00:00
}}
/// {{= mapName }}
/// <br>{{= notes }}
{{= name }} = {{= mapId }},
{{
}
}
}}
}