equal
deleted
inserted
replaced
57 #[derive(Debug)] |
57 #[derive(Debug)] |
58 pub enum AddTeamError { |
58 pub enum AddTeamError { |
59 TooManyTeams, |
59 TooManyTeams, |
60 TooManyHedgehogs, |
60 TooManyHedgehogs, |
61 TeamAlreadyExists, |
61 TeamAlreadyExists, |
62 GameInProgress, |
|
63 Restricted, |
62 Restricted, |
64 } |
63 } |
65 |
64 |
66 #[derive(Debug)] |
65 #[derive(Debug)] |
67 pub enum RemoveTeamError { |
66 pub enum RemoveTeamError { |
859 Err(TooManyTeams) |
858 Err(TooManyTeams) |
860 } else if room.addable_hedgehogs() == 0 { |
859 } else if room.addable_hedgehogs() == 0 { |
861 Err(TooManyHedgehogs) |
860 Err(TooManyHedgehogs) |
862 } else if room.find_team(|t| t.name == info.name) != None { |
861 } else if room.find_team(|t| t.name == info.name) != None { |
863 Err(TeamAlreadyExists) |
862 Err(TeamAlreadyExists) |
864 } else if room.game_info.is_some() { |
|
865 Err(GameInProgress) |
|
866 } else if room.is_team_add_restricted() { |
863 } else if room.is_team_add_restricted() { |
867 Err(Restricted) |
864 Err(Restricted) |
868 } else { |
865 } else { |
869 info.owner = client.nick.clone(); |
866 info.owner = client.nick.clone(); |
870 let team = room.add_team(client.id, *info, client.protocol_number < 42); |
867 let team = room.add_team(client.id, *info, client.protocol_number < 42); |