rust/hedgewars-server/src/core/server.rs
changeset 15697 25371cae9fd7
parent 15569 4b2f3228f13b
child 15804 747278149393
equal deleted inserted replaced
15696:50dc9d0191d1 15697:25371cae9fd7
    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);