ros2_interfaces_jazzy/gc_spl_interfaces/msg/
rcgcd15.rs

1use 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 {}