struct Game { name: String, players: vec, max_players: stars: vec, settings: Settings } struct Player { name: String, color: (u8, u8, u8), tech: vec<(Tech)>, research_queue: vec, money: u16 } trait On_Cycle { fn active(&self) {}; } struct Tech { name: str, description: str, points: u32 } impl On_Cycle for Tech { pub fn active(&self, game: &Game) { if game.settings.mode = "vanilla" { match self.name { "Experimentation" => experimentation(game.players[???]) } } }; }