feat: Implement wonder event request (#40)
This commit is contained in:
36
src/features/wonderevent/components.rs
Normal file
36
src/features/wonderevent/components.rs
Normal file
@@ -0,0 +1,36 @@
|
||||
use crate::prelude::*;
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, PartialEq, Clone)]
|
||||
pub struct MaxFieldSize {
|
||||
#[serde(rename = "minX")]
|
||||
pub min_x: u32,
|
||||
#[serde(rename = "maxX")]
|
||||
pub max_x: u32,
|
||||
#[serde(rename = "minY")]
|
||||
pub min_y: u32,
|
||||
#[serde(rename = "maxY")]
|
||||
pub max_y: u32,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, PartialEq, Clone)]
|
||||
pub struct Position {
|
||||
pub x: u32,
|
||||
pub y: u32,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, PartialEq, Clone)]
|
||||
#[serde(tag = "messageType")]
|
||||
pub enum WonderEventMessage {
|
||||
#[serde(rename = "WONDER_REQUEST")]
|
||||
WonderRequest {
|
||||
#[serde(rename = "maxFieldSize")]
|
||||
max_field_size: MaxFieldSize,
|
||||
},
|
||||
#[serde(rename = "REQUEST_ERROR")]
|
||||
RequestError { error: String },
|
||||
#[serde(rename = "NO_WONDER")]
|
||||
NoWonder,
|
||||
#[serde(rename = "WONDER_GRANTED")]
|
||||
WonderGranted { position: Position },
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user