Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Kang

#1
General (Antiguo) / Problemas para manejar datos en XML
Septiembre 04, 2018, 01:18:11 PM
Correcto @juanma_teso al final ya he podido guardar los objetos en el archivo XML antes de ver tu consulta, lo siento ^^, pero ahora tengo otra duda, he creado un for que añada los items de una lista, pero al recorrerla y guardarla, me guarda el mismo dato por cada item que tiene dicha lista, adjunto imagenes para ver si podeis corregirme.
 


  •    La imagen "interactable" es donde está el for que recorre la lista y tiene el .Add como me indicaste arriba, pero quiero que añada nuevos cada vez, pero que no se sobrescriba al recorrerlos.



 


  •    La imagen "xmlfilesave" es donde se crean las clases para el guardado y creacion del archivo xml.



 


  •    La imagen "xmlsaved" muestra el error de que me sobrescribe cada uno de los items con el ultimo valor de la lista que le paso.


#2


   
      
         
            
               

                  

                     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>();
   }
 
}


    
#3
General (Antiguo) / Me presento.
Agosto 31, 2018, 01:31:55 PM
Buenas a todos, me presento como Kang aqui en el foro, soy "programador" con algunas bases estudiadas pero la mayoria de forma autodidacta, actualmente estoy en un proyecto que voy haciendo en mis ratos libres  ya que trabajo de otra cosa. Sin mas espero compartamos información y momentos y muchas gracias por aceptarme. ^^