ros2_interfaces_rolling/game_controller_spl_interfaces/msg/
rcgcd14.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4pub struct RCGCD14 {
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::game_controller_spl_interfaces::msg::TeamInfo14; 2],
17}
18
19impl RCGCD14 {
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_CHALLENGE_SHIELD: u8 = 1;
24    pub const COMPETITION_TYPE_7V7: u8 = 2;
25    pub const COMPETITION_TYPE_DYNAMIC_BALL_HANDLING: u8 = 3;
26    pub const GAME_PHASE_NORMAL: u8 = 0;
27    pub const GAME_PHASE_PENALTYSHOOT: u8 = 1;
28    pub const GAME_PHASE_OVERTIME: u8 = 2;
29    pub const GAME_PHASE_TIMEOUT: u8 = 3;
30    pub const STATE_INITIAL: u8 = 0;
31    pub const STATE_READY: u8 = 1;
32    pub const STATE_SET: u8 = 2;
33    pub const STATE_PLAYING: u8 = 3;
34    pub const STATE_FINISHED: u8 = 4;
35    pub const SET_PLAY_NONE: u8 = 0;
36    pub const SET_PLAY_GOAL_KICK: u8 = 1;
37    pub const SET_PLAY_PUSHING_FREE_KICK: u8 = 2;
38    pub const SET_PLAY_CORNER_KICK: u8 = 3;
39    pub const SET_PLAY_KICK_IN: u8 = 4;
40    pub const SET_PLAY_PENALTY_KICK: u8 = 5;
41}
42
43impl Default for RCGCD14 {
44    fn default() -> Self {
45        RCGCD14 {
46            packet_number: 0,
47            players_per_team: 0,
48            competition_phase: 0,
49            competition_type: 0,
50            game_phase: 0,
51            state: 0,
52            set_play: 0,
53            first_half: 0,
54            kicking_team: 0,
55            secs_remaining: 0,
56            secondary_time: 0,
57            teams: core::array::from_fn(|_| crate::game_controller_spl_interfaces::msg::TeamInfo14::default()),
58        }
59    }
60}
61
62impl ros2_client::Message for RCGCD14 {}