mirror of
https://github.com/Theaninova/mhlib.git
synced 2026-01-20 08:52:57 +00:00
ui
This commit is contained in:
@@ -6,13 +6,16 @@ pub enum UiTag {
|
||||
Menu(UiMenu),
|
||||
Image(UiImage),
|
||||
TextButton(UiTextButton),
|
||||
TextArea(UiTextArea),
|
||||
StaticText(UiStaticText),
|
||||
ToggleButton(UiToggleButton),
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize)]
|
||||
pub struct UiMenu {
|
||||
pub selected: String,
|
||||
#[serde(rename = "OnBack")]
|
||||
pub on_back: String,
|
||||
pub on_back: Option<String>,
|
||||
#[serde(rename = "$value")]
|
||||
pub children: Vec<UiTag>,
|
||||
}
|
||||
@@ -42,10 +45,59 @@ pub struct UiTextButton {
|
||||
pub on_select: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize)]
|
||||
pub struct UiTextArea {
|
||||
#[serde(deserialize_with = "deserialize_vec2")]
|
||||
pub position: [i32; 2],
|
||||
#[serde(deserialize_with = "deserialize_vec2")]
|
||||
pub size: [i32; 2],
|
||||
#[serde(rename = "$value")]
|
||||
pub children: Vec<UiTag>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize)]
|
||||
pub struct UiStaticText {
|
||||
pub text: String,
|
||||
#[serde(deserialize_with = "deserialize_vec2")]
|
||||
pub position: [i32; 2],
|
||||
#[serde(rename = "halign")]
|
||||
pub horizontal_align: HorizontalAlign,
|
||||
#[serde(rename = "fademode")]
|
||||
pub fade_mode: FadeMode,
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize)]
|
||||
pub struct UiToggleButton {
|
||||
pub name: Option<String>,
|
||||
pub text: String,
|
||||
#[serde(deserialize_with = "deserialize_vec2")]
|
||||
pub position: [i32; 2],
|
||||
pub value: String,
|
||||
#[serde(rename = "minValue")]
|
||||
pub min_value: i32,
|
||||
#[serde(rename = "maxValue")]
|
||||
pub max_value: i32,
|
||||
#[serde(rename = "valueStep")]
|
||||
pub value_step: i32,
|
||||
pub target: String,
|
||||
#[serde(rename = "targetLOffset", deserialize_with = "deserialize_vec2")]
|
||||
pub target_l_offset: [i32; 2],
|
||||
#[serde(rename = "targetROffset", deserialize_with = "deserialize_vec2")]
|
||||
pub target_r_offset: [i32; 2],
|
||||
#[serde(rename = "noSound")]
|
||||
pub no_sound: Option<bool>,
|
||||
#[serde(rename = "OnChange")]
|
||||
pub on_change: String,
|
||||
#[serde(rename = "OnSelect")]
|
||||
pub on_select: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize)]
|
||||
#[serde(rename_all = "lowercase")]
|
||||
pub enum HorizontalAlign {
|
||||
Left,
|
||||
Center,
|
||||
Right,
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize)]
|
||||
|
||||
Reference in New Issue
Block a user