private void EliminarEventosDesactualizados(int IDInteractuable, InfoInteractuable infoInteractuable) { for (int i = infoInteractuable.DevolverNumeroEventos() - 1; i >= 0; i--) { if (!infoInteractuable.DevuelveEventoActualizado(i)) { int IDEvento = infoInteractuable.DevuelveIDEvento(i); infoInteractuable.EliminarEvento(i); EventoLista eventoLista; //Si existe if (listaEventos.TryGetValue(IDEvento, out eventoLista)) { int pos = eventoLista.PosicionInteractuable(IDInteractuable); if (pos != -1) { eventoLista.BorrarInteractuable(pos); if (eventoLista.IsInterEmpty()) { listaEventos.Remove(IDEvento); } } } } } }
private void AddLugaresSiguientes(int IDInteractuable, InfoInteractuable infoInteractuable, List <PosicionLugarSiguiente> posLugarSiguiente, bool autorutina, int IDRutina) { DateTime fechaRutina = DateTime.UtcNow; infoInteractuable.SetFechaCambioRutina(fechaRutina); for (int i = 0; i < posLugarSiguiente.Count; i++) { Contenedor contenedor; if (!contenedores.TryGetValue(posLugarSiguiente[i].hora, out contenedor)) { contenedor = new Contenedor(); contenedores.Add(posLugarSiguiente[i].hora, contenedor); } posLugarSiguiente[i].lugarSiguiente.setFechaRutina(fechaRutina); contenedor.AddLugarSig(posLugarSiguiente[i].lugarSiguiente); } if (autorutina) { CargarAutorutina(IDRutina, fechaRutina); } }
private void MarcarEventosDesactualizados(InfoInteractuable infoInteractuable) { for (int i = 0; i < infoInteractuable.DevolverNumeroEventos(); i++) { infoInteractuable.DesactualizarEvento(i); } }
//Carga el interactuable en el diccionario al iniciar el juego public void CargarInteractuable(DatosInteractuable datosInteractuable) { InfoInteractuable infoInteractuable = new InfoInteractuable(); infoInteractuable.SetTipoInter(datosInteractuable.tipoInter); infoInteractuable.SetIDRutina(datosInteractuable.IDRutinaActual); infoInteractuables[datosInteractuable.IDInteractuable] = infoInteractuable; //Si el interactuable tiene rutina, cargamos la rutina if(datosInteractuable.IDRutinaActual != -1) CargarRutina(datosInteractuable.IDRutinaActual, true, false); }
/*private void SetEscenaActual(int escenaActual) * { * this.escenaActual = escenaActual; * }*/ //Carga el interactuable en el diccionario al iniciar el juego public void CargarInteractuable(DatosInteractuable datosInteractuable) { InfoInteractuable infoInteractuable = new InfoInteractuable(); infoInteractuable.SetTipoInter(datosInteractuable.tipoInter); infoInteractuable.SetIDRutina(datosInteractuable.IDRutinaActual); infoInteractuables[datosInteractuable.IDInteractuable] = infoInteractuable; //Si el id de rutina es positivo, significa que el interactuable tiene rutina, la cargamos if (datosInteractuable.IDRutinaActual >= 0) { CargarRutina(datosInteractuable.IDRutinaActual, true, false); numeroInteractuablesConRutina++; } //Si es negativo, el id indica el número de la escena/nivel con el signo cambiado else { infoInteractuable.SetIDEscena(-datosInteractuable.IDRutinaActual); } }
private void EliminarEventosDesactualizados(int IDInteractuable, InfoInteractuable infoInteractuable) { for(int i = infoInteractuable.DevolverNumeroEventos() - 1; i >= 0; i--) { if(!infoInteractuable.DevuelveEventoActualizado(i)) { int IDEvento = infoInteractuable.DevuelveIDEvento(i); infoInteractuable.EliminarEvento(i); EventoLista eventoLista; //Si existe if (listaEventos.TryGetValue(IDEvento, out eventoLista)) { int pos = eventoLista.PosicionInteractuable(IDInteractuable); if(pos != -1) { eventoLista.BorrarInteractuable(pos); if(eventoLista.IsInterEmpty()) { listaEventos.Remove(IDEvento); } } } } } }
private void AddEventoAInteractuable(InfoInteractuable infoInteractuable, int IDEvento) { infoInteractuable.AddEvento(IDEvento); }
private void AddLugaresSiguientes(int IDInteractuable, InfoInteractuable infoInteractuable, List<PosicionLugarSiguiente> posLugarSiguiente, bool autorutina, int IDRutina) { DateTime fechaRutina = DateTime.UtcNow; infoInteractuable.SetFechaCambioRutina(fechaRutina); for(int i = 0; i < posLugarSiguiente.Count; i++) { Contenedor contenedor; if (!contenedores.TryGetValue(posLugarSiguiente[i].hora, out contenedor)) { contenedor = new Contenedor(); contenedores.Add(posLugarSiguiente[i].hora, contenedor); } posLugarSiguiente[i].lugarSiguiente.setFechaRutina(fechaRutina); contenedor.AddLugarSig(posLugarSiguiente[i].lugarSiguiente); } if(autorutina) CargarAutorutina(IDRutina, fechaRutina); }
private void MarcarEventosDesactualizados(InfoInteractuable infoInteractuable) { for(int i = 0; i < infoInteractuable.DevolverNumeroEventos(); i ++) { infoInteractuable.DesactualizarEvento(i); } }