Gets a mutable version of this unit from space or the current planet. NoSuchUnit - the unit does not exist.
(&mut self, id: UnitID)
| 830 | /// |
| 831 | /// * NoSuchUnit - the unit does not exist. |
| 832 | fn get_unit_mut(&mut self, id: UnitID) -> Result<&mut Unit, GameError> { |
| 833 | if self.get_planet(Planet::Earth).units.contains_key(&id) { |
| 834 | Ok(self.get_planet_mut(Planet::Earth).units.get_mut(&id).expect("key exists")) |
| 835 | } else if self.get_planet(Planet::Mars).units.contains_key(&id) { |
| 836 | Ok(self.get_planet_mut(Planet::Mars).units.get_mut(&id).expect("key exists")) |
| 837 | } else if self.get_team(Team::Red).units_in_space.contains_key(&id) { |
| 838 | Ok(self.get_team_mut(Team::Red).units_in_space.get_mut(&id).expect("key exists")) |
| 839 | } else if self.get_team(Team::Blue).units_in_space.contains_key(&id) { |
| 840 | Ok(self.get_team_mut(Team::Blue).units_in_space.get_mut(&id).expect("key exists")) |
| 841 | } else { |
| 842 | Err(GameError::NoSuchUnit)? |
| 843 | } |
| 844 | } |
| 845 | |
| 846 | // ************************************************************************ |
| 847 | // **************** UNIT CREATION / DESTRUCTION METHODS ******************* |