void Update() { ciudad.ActualizarUI(false); if (Input.GetKeyDown(teclaArrancarPararTiempo)) { if (velocidad != 0) { velocidad = 0; } else { velocidad = 1; } } if (velocidad != 0) { if (velocidad == 1) { segundosDia = velocidad1; } else if (velocidad == 2) { segundosDia = velocidad2; } arranqueDia += (Time.deltaTime * segundosDia); if (arranqueDia > segundosDiaTope) { arranqueDia = 0; contadorDias += 1; } if (encender == true) { if (arranqueDia > atardecer || arranqueDia < amanecer) { construir.ComprobarLuces(encender); encender = false; } } else { if (arranqueDia <= atardecer && arranqueDia >= amanecer) { construir.ComprobarLuces(encender); encender = true; } } tiempoSemaforos += (Time.deltaTime * segundosDia); if (tiempoSemaforos > tiempoSemaforosTope) { tiempoSemaforos = 0; construir.CambiarLucesSemaforos(accionSemaforos); accionSemaforos += 1; if (accionSemaforos > 1) { accionSemaforos = 0; } } tiempoVehiculos += (Time.deltaTime * segundosDia); if (tiempoVehiculos > tiempoVehiculosTope) { tiempoVehiculos = 0; if (vehiculos.listaVehiculos != null) { if (vehiculos.listaVehiculos.Length > 0) { int cantidadEdificios = 0; foreach (Construccion subedificio in Construir.edificios) { if (subedificio != null) { if (subedificio.categoria == 2) { cantidadEdificios += 1; } } } if (cantidadEdificios > 0) { if (cantidadEdificios > 10) { cantidadEdificios = cantidadEdificios / 4; } else { cantidadEdificios = cantidadEdificios / 2; } int i = 0; while (i <= cantidadEdificios) { vehiculos.GenerarVehiculo(); i += 1; } } } } } } if (idioma.CogerCadena("day") != null) { dias.text = string.Format(idioma.CogerCadena("day").ToLower() + " {0}", Mathf.Round(contadorDias)); } ActualizarReloj(); ActualizarSol(); vehiculos.ArrancarPararVehiculos(velocidad); }
void Update() { ciudad.ActualizarUI(false); if (Input.GetKeyDown(teclaArrancarPararTiempo)) { if (velocidad != 0) { velocidad = 0; } else { velocidad = 1; } vehiculos.ArrancarPararVehiculos(velocidad); escenario.ArrancarPararNubes(velocidad); } if (velocidad != 0) { if (velocidad == 1) { segundosDia = velocidad1; } else if (velocidad == 2) { segundosDia = velocidad2; } //------------------------------------------- arranqueDia += (Time.deltaTime * segundosDia); if (arranqueDia > segundosDiaTope) { arranqueDia = 0; contadorDias += 1; } if (encender == true) { if (arranqueDia > atardecer || arranqueDia < amanecer) { construir.ComprobarLuces(encender); encender = false; } } else { if (arranqueDia <= atardecer && arranqueDia >= amanecer) { construir.ComprobarLuces(encender); encender = true; } } //------------------------------------------- tiempoSemaforos += (Time.deltaTime * segundosDia); if (tiempoSemaforos > tiempoSemaforosTope) { tiempoSemaforos = 0; construir.CambiarLucesSemaforos(accionSemaforos); accionSemaforos += 1; if (accionSemaforos > 1) { accionSemaforos = 0; } } //------------------------------------------- tiempoVehiculos += (Time.deltaTime * segundosDia) + Random.Range(1, 10000); if (tiempoVehiculos > tiempoVehiculosTope) { tiempoVehiculos = 0; if (vehiculos.listaVehiculos != null) { if (vehiculos.listaVehiculos.Length > 0) { int cantidadEdificios = 0; List <Construccion> carreteras = new List <Construccion>(); foreach (Construccion subedificio in Construir.edificios) { if (subedificio != null) { if (subedificio.categoria == 1) { if (subedificio.id == 6 || subedificio.id == 12) { carreteras.Add(subedificio); } } if (subedificio.categoria == 2) { cantidadEdificios += 1; } } } if (cantidadEdificios > 0) { cantidadEdificios = Random.Range(1, cantidadEdificios - (cantidadEdificios / 2)); int i = 0; while (i <= cantidadEdificios) { vehiculos.GenerarVehiculo(carreteras); i += 1; } } } } } //------------------------------------------- //tiempoNubes += (Time.deltaTime * segundosDia); //if (tiempoNubes > tiempoNubesTope) //{ // tiempoNubes = 0; // escenario.GenerarNubes(); //} } ActualizarReloj(); ActualizarSol(); }
void EdificioConstruir(int accion) { Vector3 raton = Posicion.Raton(); if (raton != Vector3.zero) { Vector3 posicion = Posicion.Redondear(raton, edificioSeleccionado); if (Posicion.Limites(posicion, 100) == true) { if (edificiosSeleccionados.Count > 0) { if (edificiosSeleccionados[0].edificio.categoria == 1) { Carreteras.Construir(edificiosSeleccionados, ciudad, construir, velocidad); } } else { if (accion == 0) { bool añadir = true; if (escenario.ComprobarEdificable(edificioSeleccionado, posicion) == false) { añadir = false; } if (construir.ComprobarPosicion(edificioSeleccionado, posicion) != null) { añadir = false; } if (ciudad.Dinero < edificioSeleccionado.coste) { añadir = false; } if (añadir == true) { construirActivar = false; vistaPrevia.QuitarTodosEdificios(); construirInterfaz.RatonSaleBotonEdificios(); panelCoste.gameObject.GetComponent <CanvasGroup>().alpha = 0; ciudad.DepositoDinero(-edificioSeleccionado.coste); ciudad.ActualizarUI(false); construir.AñadirConstruccion(edificioSeleccionado, posicion, velocidad.EstadoEncendidoLuces()); sonido.Construir(); } } if (accion == 1) { if (edificioSeleccionado != null) { demolerActivar = false; vistaPrevia.QuitarTodosEdificios(); demolerInterfaz.RatonSale(); Construccion edificioEliminar = edificioSeleccionado; if (edificioEliminar.categoria != 0) { ciudad.DepositoDinero(edificioEliminar.coste / 3); } ciudad.ActualizarUI(false); construir.QuitarEdificio(edificioEliminar, posicion); sonido.Demoler(); } } } } } }
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); } } }