ros2_interfaces_jazzy/gc_spl_interfaces/msg/
rcgcd15.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4pub struct RCGCD15 {
5 pub packet_number: u8,
6 pub players_per_team: u8,
7 pub competition_phase: u8,
8 pub competition_type: u8,
9 pub game_phase: u8,
10 pub state: u8,
11 pub set_play: u8,
12 pub first_half: u8,
13 pub kicking_team: u8,
14 pub secs_remaining: i16,
15 pub secondary_time: i16,
16 pub teams: [crate::gc_spl_interfaces::msg::TeamInfo15; 2],
17}
18
19impl RCGCD15 {
20 pub const COMPETITION_PHASE_ROUNDROBIN: u8 = 0;
21 pub const COMPETITION_PHASE_PLAYOFF: u8 = 1;
22 pub const COMPETITION_TYPE_NORMAL: u8 = 0;
23 pub const COMPETITION_TYPE_DYNAMIC_BALL_HANDLING: u8 = 1;
24 pub const GAME_PHASE_NORMAL: u8 = 0;
25 pub const GAME_PHASE_PENALTYSHOOT: u8 = 1;
26 pub const GAME_PHASE_OVERTIME: u8 = 2;
27 pub const GAME_PHASE_TIMEOUT: u8 = 3;
28 pub const STATE_INITIAL: u8 = 0;
29 pub const STATE_READY: u8 = 1;
30 pub const STATE_SET: u8 = 2;
31 pub const STATE_PLAYING: u8 = 3;
32 pub const STATE_FINISHED: u8 = 4;
33 pub const SET_PLAY_NONE: u8 = 0;
34 pub const SET_PLAY_GOAL_KICK: u8 = 1;
35 pub const SET_PLAY_PUSHING_FREE_KICK: u8 = 2;
36 pub const SET_PLAY_CORNER_KICK: u8 = 3;
37 pub const SET_PLAY_KICK_IN: u8 = 4;
38 pub const SET_PLAY_PENALTY_KICK: u8 = 5;
39}
40
41impl Default for RCGCD15 {
42 fn default() -> Self {
43 RCGCD15 {
44 packet_number: 0,
45 players_per_team: 0,
46 competition_phase: 0,
47 competition_type: 0,
48 game_phase: 0,
49 state: 0,
50 set_play: 0,
51 first_half: 0,
52 kicking_team: 0,
53 secs_remaining: 0,
54 secondary_time: 0,
55 teams: core::array::from_fn(|_| crate::gc_spl_interfaces::msg::TeamInfo15::default()),
56 }
57 }
58}
59
60impl ros2_client::Message for RCGCD15 {}