Skip to main content

f1_telemetry_client/f1_2020/
team.rs

1#[derive(Debug, Eq, PartialEq, Copy, Clone)]
2pub enum Team {
3    Mercedes,
4    Ferrari,
5    RedBullRacing,
6    Williams,
7    RacingPoint,
8    Renault,
9    ToroRosso,
10    Haas,
11    McLaren,
12    AlfaRomeo,
13    McLaren1988,
14    McLaren1991,
15    Williams1992,
16    Ferrari1995,
17    Williams1996,
18    McLaren1998,
19    Ferrari2002,
20    Ferrari2004,
21    Renault2006,
22    Ferrari2007,
23    RedBull2010,
24    Ferrari1976,
25    ARTGrandPrix,
26    CamposVexatecRacing,
27    Carlin,
28    CharouzRacingSystem,
29    DAMS,
30    RussianTime,
31    MPMotorsport,
32    Pertamina,
33    McLaren1990,
34    Trident,
35    BWTArden,
36    McLaren1976,
37    Lotus1972,
38    Ferrari1979,
39    McLaren1982,
40    Williams2003,
41    Brawn2009,
42    Lotus1978,
43    ArtGP2019,
44    Campos2019,
45    Carlin2019,
46    SauberJuniorCharouz2019,
47    Dams2019,
48    UniVirtuosi2019,
49    MPMotorsport2019,
50    Prema2019,
51    Trident2019,
52    Arden2019,
53    Ferrari1990,
54    McLaren2010,
55    Ferrari2010,
56    AlphaTauri,
57    McLaren2008,
58    F1GenericCar,
59    Benetton1994,
60    Benetton1995,
61    Ferrari2000,
62    Jordan1991,
63    MyTeam,
64    Unknown,
65}
66
67impl Team {
68    pub fn name(self) -> &'static str {
69        match self {
70            Team::Mercedes => "Mercedes",
71            Team::Ferrari => "Ferrari",
72            Team::RedBullRacing => "Red Bull Racing",
73            Team::RacingPoint => "Racing Point",
74            Team::Renault => "Renault",
75            Team::ToroRosso => "Toro Rosso",
76            Team::Haas => "Haas",
77            Team::McLaren => "McLaren",
78            Team::AlfaRomeo => "Alfa Romeo",
79            Team::AlphaTauri => "Alpha Tauri",
80            Team::Williams => "Williams",
81            _ => "[N/A]",
82        }
83    }
84
85    pub fn hex_colors(self) -> &'static str {
86        match self {
87            Team::Mercedes => "#00D2BE",
88            Team::Ferrari => "#C00000",
89            Team::RedBullRacing => "#0600EF",
90            Team::RacingPoint => "#F596C8",
91            Team::Renault => "#FFF500",
92            Team::Haas => "#787878",
93            Team::McLaren => "#FF8700",
94            Team::AlfaRomeo => "#960000",
95            Team::AlphaTauri => "#C8C8C8",
96            Team::Williams => "#0082FA",
97            _ => "#000000",
98        }
99    }
100
101    pub fn rgb(self) -> (u8, u8, u8) {
102        match self {
103            Team::Mercedes => (0, 210, 190),
104            Team::Ferrari => (192, 0, 0),
105            Team::RedBullRacing => (6, 0, 239),
106            Team::RacingPoint => (245, 150, 200),
107            Team::Renault => (255, 245, 0),
108            Team::Haas => (120, 120, 120),
109            Team::McLaren => (255, 135, 0),
110            Team::AlfaRomeo => (150, 0, 0),
111            Team::AlphaTauri => (200, 200, 200),
112            Team::Williams => (0, 130, 250),
113            _ => (0, 0, 0),
114        }
115    }
116}