public static void Construir(List <Construccion2> carreteras, Ciudad ciudad, Construir construir, DiaNoche diaNoche, Construccion[] edificios, AudioSource sonidoBotonConstruir) { if (carreteras.Count > 0) { int coste = 0; foreach (Construccion2 subcarretera in carreteras) { coste = coste + subcarretera.edificio.coste; } if (ciudad.Dinero >= coste) { sonidoBotonConstruir.Play(); foreach (Construccion2 subcarretera in carreteras) { if (construir.ComprobarPosicion(subcarretera.edificio, subcarretera.posicion) == null) { construir.AñadirConstruccion(subcarretera.edificio, subcarretera.posicion, diaNoche.EstadoEncendidoLuces()); } else { Construccion edificioEncontrado = construir.ComprobarPosicion(subcarretera.edificio, subcarretera.posicion); if (edificioEncontrado.categoria == 0) { construir.QuitarEdificio(edificioEncontrado, subcarretera.posicion); construir.AñadirConstruccion(subcarretera.edificio, subcarretera.posicion, diaNoche.EstadoEncendidoLuces()); ciudad.DepositoDinero(edificioEncontrado.coste / 2); } if (edificioEncontrado.categoria == 1) { bool eliminar = false; if (edificioEncontrado.id != subcarretera.edificio.id) { eliminar = true; } else { if (edificioEncontrado.rotacionColocacion != subcarretera.edificio.rotacionColocacion) { eliminar = true; } } if (eliminar == true) { if (edificioEncontrado.categoria != 0) { ciudad.DepositoDinero(edificioEncontrado.coste / 3); } ciudad.ActualizarUI(false); construir.QuitarEdificio(edificioEncontrado, subcarretera.posicion); construir.AñadirConstruccion(subcarretera.edificio, subcarretera.posicion, diaNoche.EstadoEncendidoLuces()); } } } } ciudad.DepositoDinero(-coste); ciudad.ActualizarUI(false); } } }