team04_server/messages/
lightsaber_options.rs1use super::*;
2
3#[derive(Serialize, Clone, Copy, Debug)]
4#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
5pub struct LightsaberOptions {
6 pub red: f64,
7 pub green: f64,
8 pub blue: f64,
9}
10
11impl MessageTx for LightsaberOptions {
12 fn serialize(&self) -> String {
13 #[derive(Serialize)]
14 struct LightsaberOptionsOuter {
15 #[serde(rename = "messageType")]
16 message_type: &'static str,
17 options: LightsaberOptions,
18 }
19
20 let message = LightsaberOptionsOuter {
21 message_type: "LIGHTSABER_OPTIONS",
22 options: *self,
23 };
24
25 serialize(&message)
26 }
27}