//Rellena las listas de acciones private void CargarAcciones() { accionesGO = new List <GameObject>(); //Si existe un fichero guardado, cargamos ese fichero, sino cargamos el fichero por defecto if (System.IO.File.Exists(Manager.rutaDatosAccionGuardados + ID.ToString() + ".xml")) { acciones = LoadDatosAccion(Manager.rutaDatosAccionGuardados + ID.ToString() + ".xml"); } else { acciones = LoadDatosAccion(Manager.rutaDatosAccion + ID.ToString() + ".xml"); } //Cargamos el inventario, necesario para comprobar si ciertas acciones se muestran Inventario inventario; //Cargamos el inventario si existe, sino lo creamos if (System.IO.File.Exists(Manager.rutaInventario + "Inventario.xml")) { inventario = Inventario.LoadInventario(Manager.rutaInventario + "Inventario.xml"); } else { inventario = new Inventario(); } //Creamos los gameObject que representan las acciones for (int i = 0; i < acciones.Count; i++) { //Comprobamos si los requisitos para mostrar la accion son correctos. Si lo son, creamos la accion if (MostrarAccion(acciones[i], inventario)) { GameObject AccionGO = new GameObject("Accion" + i.ToString()); AccionObjeto accionObjeto = AccionGO.AddComponent <AccionObjeto>(); accionObjeto.Inicializar(ID, i); //Carga la acción en la lista de acciones GameObjects CargaAccionGO(AccionGO, i); } //Carga el dialogo si la accion es de tipo dialogo aunque no se muestre if (acciones[i].GetType() == typeof(DatosAccionDialogo)) { DatosAccionDialogo datosAccionDialogo = acciones[i] as DatosAccionDialogo; datosAccionDialogo.CargaDialogo(); Dialogo dialogo = datosAccionDialogo.DevuelveDialogo(); //Cargamos las intros a distancia de la acciónDialogo (si los tiene) //Si el dialogo es a distancia creamos el box collider for (int j = 0; j < dialogo.DevuelveNumeroIntros(); j++) { if (dialogo.IntroEsADistancia(j)) { CrearDialogoADistanciaArea(dialogo, j); } } } } //Cargamos la UI de las acciones actuales CargarAccionesUI(); //Ocultamos el texto de las acciones DesactivarTextoAcciones(); }