Comando cerrar, opción salida, implementado en un sentido.Falta o sentido oposto da salida

This commit is contained in:
serxoz 2022-09-26 13:31:46 +02:00
parent cb8b9790f0
commit 874fc0356a

View File

@ -187,31 +187,32 @@ pub fn execute_close(player: &mut Player, nombre: &str) -> String {
if objeto.is_ok() { if objeto.is_ok() {
let mut obj = objeto.unwrap(); let mut obj = objeto.unwrap();
println!("{:?}", obj); // println!("{:?}", obj);
if obj.tipo == "salida" { if obj.tipo == "salida" {
for (pos, condicion) in obj.condiciones.iter().enumerate() { if obj.condiciones.len() > 0 {
if condicion.as_ref().unwrap() == "open" { for (pos, condicion) in obj.condiciones.iter().enumerate() {
output = String::from("Está abierta."); if condicion.as_ref().unwrap() == "open" {
// actualizar a salida en sentido contrario // actualizar a salida en sentido contrario
// implementar get_salida_opuesta() para actualizar o sentido contario tamén // implementar get_salida_opuesta() para actualizar o sentido contario tamén
obj.condiciones[pos] = Some("closed".to_string()); obj.condiciones[pos] = Some("closed".to_string()); // cambia 'open' por 'closed'
let res = update_object_conditions(location.to_string(), obj.condiciones); let res = update_object_conditions(obj.tag, obj.condiciones);
if res.is_ok() && res.unwrap() > 0 {
// non actualiza, da ok pero actualiza 0 rows output = String::from("Ahora está cerrada.");
match res { } else {
Ok(n) => println!("actualizados {} rows", n), output = String::from("No se pudo cerrar.");
Err(error) => println!("Error actualizando: {:?}", error), }
}; break;
} else if condicion.as_ref().unwrap() == "closed" {
break; output = String::from("Ya está cerrada.");
} else if condicion.as_ref().unwrap() == "closed" { break;
output = String::from("Ya está cerrada."); } else {
break; output = String::from("No es necesario.");
} else { }
output = String::from("");
} }
} else {
output = String::from("No es necesario.");
} }
} else { } else {
// é un item // é un item