Jump to content

Search the Community

Showing results for tags 'xml'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General
    • Proyectos
    • Offtopic
    • Unity Feeds
    • Website
    • Youtube
  • Mesa de ayuda
    • Unity
    • Arte
    • Builds & Dispositivos
    • Otras Especialidades
  • Aportes de la Comunidad
    • Recursos
    • Eventos
  • Bolsa de trabajo & Colaboraciones
    • Ofertas y Demandas
  • Post Antiguos
    • General (Antiguo)

Blogs

There are no results to display.

There are no results to display.


Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Especialidad

Found 11 results

  1. Francisco Carlos Bocanegra Jiménez 54 min Buenas abro esta consulta porque estoy realizando un inventario que se guarde en XML, anteriormente hice otro pero ahora mi problema es que no entiendo porque debo poner la database en static, ya que si lo hago no puedo realizar los cambios mediante el inspector. os dejo imágenes para que podáis verlo visualmente, ya que no se como añadir a dicha database los valores con código, porque no consigo acceder hasta los niveles mas profundos. Si alguien puede ayudarme o conoce algún resource que me ayude a la hora de trabajar posteriormente con los valores se lo agradezco, gracias de antemano. La pregunta es como podría añadir mas objetos a dicho xml mediante código desde otra class, porque no sé como acceder al nivel de la database correspondiente. PD: no me deja adjuntar la imagen asi que pongo el trozo de código: using System.Collections; using System.Collections.Generic; using UnityEngine; using System.IO; using System.Xml; using System.Xml.Serialization; public class InventorySaveController : MonoBehaviour { public static InventoryDatabase inventoryDB; public static void SaveItems() { XmlSerializer serializer = new XmlSerializer(typeof(InventoryDatabase)); FileStream stream = new FileStream(Application.dataPath + "/Resources/XMLSaves/ContainerContents.xml", FileMode.Create); serializer.Serialize(stream, inventoryDB); stream.Close(); } [System.Serializable] public class ItemEntry { public string itemName; public int quantity; } [System.Serializable] public class InventoryDatabase { [XmlArray("Inventory")] public List<ItemEntry> list = new List<ItemEntry>(); } }
  2. Hola queridos, bueno basicamente estoy por terminar mi juego luna de pluton disponible... no digo mi juego Kuboi disponible en unas semanas, se viene con todo! Ah re que a nadie le importaba, pero tiro el chivo pronto se van a enterar cuando salga ;) En fin.. me encuentro con un problema de novato tras dias y noches y diasynoches sin dormir me lei bastante sobre la serializacion de objectos, basicamente el tema de acceder a estructuras de datos, obtenerlas y/o editarlas, me lei bastante sobre XML y JSON cada uno tiene sus pro y sus contra, la diferencia que encontre por definicion teorica es que XML se mueve mejor en grandes bases de data, donde manipula grandes cantidades de informacion, donde podemos crear encabezados, hijos, subhijos y demas... un manera muy comoda para el ojo humano, y el tema cognitivo pero bastante complicado en el tema codigo y raiz de todo... de lo contrario JSON ya trae "estructuras" armadas pura exclusivamente orientada a objectos donde acceder es mas rapido hablando de rendimiento y dedicacion de codigo, pero al ser algo ya "estructurado" tiene algo limitado siertas cuestiones. Que es JSON? JSON es simplemente una manera de pasar objetos y estructuras de datos desde Javascript a cualquier lenguaje del servidor (originalmente), XML no transmite directamente objetos ni estructuras de datos (int, bool .. ect), es decir, los datos con JSON estan listos para ser usados cuando se reciben, esta, a queridos amigos, es la clave de JSON. Cuando trabajamos con Javascript usar JSON es lo ideal Algo muy curioso que lei tambien es que cuando XML maneja pocas variables tiene una velocidad de respuesta mas retardada, encambio cuando maneja una buena cantidad de infromacion es mas lijera su respuesta. Hablando de peso neto en bytes son muy equivalentes. Llendo al topic del tema dejando de lado esta informacion, yo pense en usar este tipo de metodo para usarlo en los resets de algunos objetos, guardar datos de variables y igualarlas cuando se resetee, pero me puse a analizar bien esto y me encuentro bastante limitado, y bastante enrroscado con este metodo para usar en mis mecanicas que necesitan ser reniciadas... Primero que yo si guardo ciertas variables ya de primeras necesito crear Arrays double que simulen un Vector3 x,y,z, lo cual ya ahi empieza el spagetti Segundo que necesito guardar datos de una curve para una interpolacion lo cual ya se me hace basatante complicado Tercero que tengo que crear una especie de imitacion del script de la mecanica que resetee que esa nunca se destruye y carga los valores al objeto reseteado... bastante trambolico Entonces me puse a pensar y pensar y no se como resetear de manera correcta, sin usar mucho codigo para el reseteo, algo simple. Tambien pense en crear prefabs a los reseteos, pero voy a hacer 50 niveles con muchos reseteos... no tiene sentido crear mas de minimo 8 prefab por nivel es una locura demaciado para tan poco, yo se que hay alguna forma mas sencilla pero no seme viene a la cabeza. Pregunta resumida: Como puedo resetear un GameObject correctamente? No solo resetear transform, sino que el script que tenga sea reseteado tambien. Acepto cualquier idea o alguna clave que me tiren ahi asi me avivo, tiene q ser algo simple que no se me viene nose porque. Hasta ahora lo que tengo es que tengo mi prefab de mi mecanica, con su script de su mecanica, cuando lo instancio ese script de la mecanica (ejemplo mecanica: MovingPlatform Tiene script MovingPlatform con muchas variables una curve y unas cosas mas instanciado es el que tengo que guardar sus variables iniciales, donde las puedo guardar? como puedo acceder de una manera comoda? Saludos!
  3. Buenas tengo este código que me escribe en un xml los datos de dos variables que tengo .Como puedo hacer que me escriba pero sin borrar lo que estaba puesto ya?? public void Save() { XmlDocument doc = new XmlDocument(); doc.LoadXml("<Libro></Libro>"); XmlElement newElem = doc.CreateElement("name"); newElem.InnerText = "" + text; doc.DocumentElement.AppendChild(newElem); XmlElement newElem0 = doc.CreateElement("autor"); newElem0.InnerText = "" + Autor.autor; doc.DocumentElement.AppendChild(newElem0); XmlTextWriter writer = new XmlTextWriter(@"D:\data.xml", null); writer.Formatting = Formatting.Indented; doc.Save(writer); } } con eso consigo esta estructura <Libro> <name>DATOS DE LA VARIABLE</name> <autor>DATOS DE LA VARIABLE</autor> </Libro> pero claro,con la funcion save de arriba lo que ago todo el rato es borrar lo que habia y meter los nuevos datos .Lo que quiero es que me valla guardando todos los datos sin borrar nada Alguna idea de que editar en ese codigo para que funcione como quiero?
  4. Buenas. Tengo un xml donde guardo las rutas de unas imágenes. mi aplicación crea un botón por cada ruta que tengo en el xml puesto,pero no consigo que el botón se cree con la imagen que hay en las rutas ,se pone una imagen de ? que creo que es de las que tiene unity por defecto. Alguien sabría ayudarme y decirme donde esta el fallo? con esto leeo el xml (funciona bien) public Datos ReadXmlTest() { XmlSerializer serializer = new XmlSerializer(typeof(Datos)); StreamReader reader = new StreamReader(xmlPath); Datos data = (Datos)serializer.Deserialize(reader); reader.Close(); return data; } y luego tengo esto otro para generar los botones por cada elemento en el xml (funciona bien) y luego la parte de poner la imagen que funciona mal.. void Awake() { string path = "C:/datos.xml"; XmlManager xmlMng = new XmlManager(path); data = xmlMng.ReadXmlTest(); foreach (var juego in data.Juegos) { Button newButton = Instantiate(buttonPrefab); newButton.transform.SetParent(layout); newButton.GetComponent<AppButton>(); Sprite imageSprite = new Sprite(); Texture2D SpriteTexture = Texture(path); imageSprite = Sprite.Create(SpriteTexture, new Rect(, , SpriteTexture.width, SpriteTexture.height), new Vector2(, ), 100.0f); newButton.image.sprite = imageSprite; } } public Texture2D Texture(string Path) { Texture2D Texture2D; byte[] FileData; if (File.Exists(Path)) { FileData = File.ReadAllBytes(Path); Texture2D = new Texture2D(1, 1); if (Texture2D.LoadImage(FileData)) return Texture2D; } return null; }
  5. Buenas. Tengo una funcion que lee datos de un xml que es esta: private string xmlPath; public XmlManager(string xmlPath) { this.xmlPath = xmlPath; } public Datos ReadXmlTest() { XmlSerializer serializer = new XmlSerializer(typeof(Datos)); StreamReader reader = new StreamReader(xmlPath); Datos data = (Datos)serializer.Deserialize(reader); reader.Close(); return data; } lo que ago con eso es conseguir unas rutas de unas fotos y guardar todas las rutas en data. Luego tengo esta clase using System.Diagnostics; using UnityEngine; public class AppButton : MonoBehaviour { private Juego game; public void Init(Juego game) { this.game = game; } private void RunApp() { Process.Start(game.ruta); } } y luego tengo esta clase donde esta el foreach private Datos data; public GameObject Button; void Awake() { string path = "C:/Users/datos.xml"; XmlManager xmlMng = new XmlManager(path); data = xmlMng.ReadXmlTest(); foreach (var juego in data.Juegos) { GameObject newButton = (GameObject)Instantiate(Button); newButton.GetComponent<AppButton>(); // // } } En la ultima clase donde estan las // tengo que LLamar al Init de AppButton con juego pero no se como hacerlo. Y aparte de eso como puedo hacer que por cada elemento que alla en el xml,se cree un boton con la imagen que hay en las rutas de los xml. Espero explicarme bien soy nuevo en esto
  6. votar en contrafavorito Buenas. Tengo una aplicación en Unity y tengo una clase donde asigno a unos botones un texto. Quiero que los textos de los botones se cojan de un archivo xml. Tengo hecho esto para leer el XML pero no se como sacar los datos y llevarlos a la otra clase. Este es mi codigo : Public void leerXml() { datos libros = null; string path= @"C:\libros.xml" XmlSerializer serializer = nwe xmlSerializer(typeof(datos)); StreamReader reader = new StreamReader(path); libros = (datos)serializer.deserialize(reader): reader.close } Creo que eso lo tengo bien y me lee los datos del xml,pero como puedo conseguirlos y llevarlos a otra clase para asignar a los botones los textos del xml?
  7. Buenas. Tengo el siguiente código que lee un xml ,y recoge los datos y los guarda en una variable. private void leerxml(){ xElement rootnode= xelement.load(@"C:/xml.xml"); foreach (xElement chlid in RootNode.Elements()) { if(chield.Name.Localname.Equals("datos")) { string xml = child.Value.Tostring(); Debug.Log(xml) } } } Mi Xml es este : <libro> <libroEjemplo> <nombre>Alfredo Reino</nombre> <email>alf@ibium.com</email> </libroEjemplo> <libroEjemplo> <nombre>Alfredo Reino</nombre> <email>alf@ibium.com</email> </libroEjemplo> </libro> En la variable xml,cuando ago el Debug.log(xml) me saca esto: Alfredo Reino alf@ibium.com Alfredo Reino alf@ibium.com Necesito coger los datos separados,para que luego en otra clase los use,pero no se como hacer para coger los datos individualmente y luego poder usarlos individualmente para mostrarlos en diferentes sitios. Si alguien tiene alguna idea .. Gracias de antemano
  8. ¡Buenas! Tengo una pequeña aplicación en Unity, y necesito leer ficheros XML. Mi código XML es muy simple: <libro> <libroEjemplo> <nombre>Alfredo Reino</nombre> <email>alf@ibium.com</email> </libroEjemplo> <libroEjemplo> <nombre>Alfredo Reino</nombre> <email>alf@ibium.com</email> </libroEjemplo> </libro> ¿Cómo puedo conseguir que Unity lea el XML y guarde en variables los datos de nombre y e-mail? Gracias antemano.
  9. Pongo a disposición de quien queda de mi sistema de juego multi-idioma. Creo un carpeta donde pongo los XML de la traducciones, en mi caso los puse en Resources/Language. Para acceder a los XML y detectar el idioma del anfitrión uso los siguientes scripts. using System.Collections; using System.Collections.Generic; using UnityEngine; using System.IO; using System.Xml; using System.Text; public class LanguageManager : MonoBehaviour { // Idioma public string langName; // Configuración List < Dictionary< string,string > > languages = new List< Dictionary< string, string > >(); public Dictionary < string,string > obj; // Iniciar la traducción cuando se requira public void Init() { LoadLanguage (); } // Setter y Getter del idioma public string Language { set { langName = value; } get { return langName; } } // Chequear el idioma antes de cargarlo, esto se debe que si no tienes el idioma del anfitrión, cargará en ingles. string PathLanguage () { // Variable string string lang = ""; // Chequeo el idioma por si lo tengo ya guardado if(PlayerPrefs.HasKey ("Language")) { lang = PlayerPrefs.GetString ("Language"); } else { // Compruevo si existe el idioma del anfitrión if (File.Exists (Application.dataPath.ToString () + "/Resources/Language/" + Language + ".xml")) lang = Language; else lang = "English"; PlayerPrefs.SetString ("Language",lang); } // Devuelvo la ruta chequeda return Application.dataPath.ToString() + "/Resources/Language/"+lang+".xml"; } // Cargar el idioma que viene de un XML void LoadLanguage () { // Ruta chequeada string path = PathLanguage (); // Recuperar datos del XML XmlDocument xml = new XmlDocument (); xml.Load (path); XmlNodeList langList = xml.GetElementsByTagName ("language"); foreach (XmlNode lang in langList) { XmlNodeList content = lang.ChildNodes; obj = new Dictionary<string, string>(); foreach(XmlNode val in content) { // Añadir los dato recopilado en una variable publica para su posterior procesado obj.Add (val.Name, val.InnerText); } } // Forma para imprimir el contenido Debug.Log (obj["Name"]); } } Formato que tiene el XML <?xml version="1.0" encoding="UTF-8" ?> <language> <Name>Spanish</Name> <Txt_Btn_Exit>Salir</Txt_Btn_Exit> <Txt_Btn_Option>Opciones</Txt_Btn_Option> <Txt_Btn_Play>Comenzar partida</Txt_Btn_Play> </language>
  10. Buenas gente, a ver si me podeis ayudar con esto. Estoy llamando a cierta funcion de un WebService, el cual me devuelve un Xml pero queda guardado en una variable String. Mi pregunta es, como puedo parsear esos datos, es decir, ir metiendo los datos relevantes en variables mias. La info que he encontrado solo lo hacen con un archivo Xml externo, pero yo lo necesito hacer desde mi variable string que tiene todo el xml, ir sacando datos. Muchas gracias!!
  11. Hola comunidad. Me descargué un video en youtube donde explican cómo guardar datos, como posición y puntos de vida de un objeto. El caso es que no está muy bien enfocado y no se entiende nada del script, está en inglés, entiendo un poco pero sin apoyo visual me pierdo. Por favor podrían darme un enlace para descargar algún video que consideren el mejor en este tema? Estoy haciendo un pequeño RPG así que si hay uno por ahí donde expliquen cómo hacer un inventario también lo agradecería. Gracias.
UnitySpain © Todos los derechos reservados 2020
×
×
  • Create New...