public void CargarRutina(int IDRutina, bool inicioJuego, bool comprobacionRutinas) { Rutina rutina = Rutina.LoadRutina(Manager.rutaRutinas + IDRutina.ToString() + ".xml"); int IDInteractuable = rutina.posLugarSiguientes[0].lugarSiguiente.lugar.IDInteractuable; InfoInteractuable infoInteractuable; if (infoInteractuables.TryGetValue(IDInteractuable, out infoInteractuable)) { infoInteractuable.SetIDRutina(IDRutina); AddLugaresSiguientes(IDInteractuable, infoInteractuable, rutina.posLugarSiguientes, rutina.autorutina, IDRutina); int posRutina = CalculaPosicionRutina(rutina); if (comprobacionRutinas) { if (rutina.posLugarSiguientes[posRutina].hora != ManagerTiempo.instance.GetHoraActual()) { AddLugarActual(rutina.posLugarSiguientes[posRutina].lugarSiguiente.lugar, rutina.posLugarSiguientes[posRutina].lugarSiguiente.eventos); } } else { AddLugarActual(rutina.posLugarSiguientes[posRutina].lugarSiguiente.lugar, rutina.posLugarSiguientes[posRutina].lugarSiguiente.eventos); } if (!inicioJuego) { DatosInteractuable datosInteractuable = new DatosInteractuable(IDInteractuable, infoInteractuable.DevolverTipo(), IDRutina); datosInteractuable.Serialize(); } } }
//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); } }
public void CargarRutina(int IDRutina, bool inicioJuego, bool comprobacionRutinas) { Rutina rutina = Rutina.LoadRutina(Manager.rutaRutinas + IDRutina.ToString() + ".xml"); int IDInteractuable = rutina.posLugarSiguientes[0].lugarSiguiente.lugar.IDInteractuable; InfoInteractuable infoInteractuable; if (infoInteractuables.TryGetValue(IDInteractuable, out infoInteractuable)) { infoInteractuable.SetIDRutina(IDRutina); AddLugaresSiguientes(IDInteractuable, infoInteractuable, rutina.posLugarSiguientes, rutina.autorutina, IDRutina); int posRutina = CalculaPosicionRutina(rutina); if(comprobacionRutinas) { if(rutina.posLugarSiguientes[posRutina].hora != ManagerTiempo.instance.GetHoraActual()) { AddLugarActual(rutina.posLugarSiguientes[posRutina].lugarSiguiente.lugar, rutina.posLugarSiguientes[posRutina].lugarSiguiente.eventos); } } else { AddLugarActual(rutina.posLugarSiguientes[posRutina].lugarSiguiente.lugar, rutina.posLugarSiguientes[posRutina].lugarSiguiente.eventos); } if(!inicioJuego) { DatosInteractuable datosInteractuable = new DatosInteractuable(IDInteractuable, infoInteractuable.DevolverTipo(), IDRutina); datosInteractuable.Serialize(); } } }