use std::u32;

use serde::Deserialize;

template_id!(VariableData u32 id);

#[derive(Deserialize, Debug)]
#[serde(rename_all = "PascalCase")]
pub struct VariableDataTemplate {
    #[serde(rename = "ID")]
    pub id: VariableDataID,
    #[serde(rename = "BattleEventID")]
    pub battle_event_id: u32,
    pub variable_name: String,
    pub value_type: VariableValueType,
    pub initial_value: String,
}

#[derive(Debug, Clone, Deserialize, PartialEq, Eq)]
#[serde(rename_all = "snake_case")]
pub enum VariableValueType {
    Int,
    Bool,
    Float,
}
