Advertisement
TeletubProd

XML READER

Aug 8th, 2022 (edited)
760
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.52 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using System.Xml;
  5. using System.Xml.Serialization;
  6. using System.IO;
  7.  
  8. public class Lang
  9. {
  10.     [XmlAttribute("id")]
  11.     public int id;
  12.     [XmlAttribute("txt")]
  13.     public string txt;
  14. }
  15.  
  16. public class Quip
  17. {
  18.     [XmlAttribute("id")]
  19.     public int id;
  20.     [XmlAttribute("txt")]
  21.     public string txt;
  22.  
  23.     [XmlAttribute("death")]
  24.     public bool death = false;
  25.     [XmlAttribute("wpn")]
  26.     public int wpn = -1;
  27.     [XmlAttribute("acc")]
  28.     public int acc = -1;
  29. }
  30.  
  31. [XmlRoot("langues")]
  32. public class Language
  33. {
  34.     [XmlArray("Language")]
  35.     [XmlArrayItem("lang")]
  36.     public List<Lang> langs = new List<Lang>();
  37.  
  38.     [XmlArray("Quips")]
  39.     [XmlArrayItem("quip")]
  40.     public List<Quip> quips = new List<Quip>();
  41.  
  42.     public static Language Load(string path)
  43.     {
  44.         TextAsset _xml = Resources.Load<TextAsset>(path);
  45.  
  46.         XmlSerializer serializer = new XmlSerializer(typeof(Language));
  47.         StringReader reader = new StringReader(_xml.text);
  48.  
  49.         Language items = serializer.Deserialize(reader) as Language;
  50.  
  51.         reader.Close();
  52.  
  53.         return items;
  54.     }
  55.  
  56.     public static string TXT(int ID)
  57.     {
  58.         string path = "language";
  59.         Language lang = Language.Load(path);
  60.  
  61.         return lang.langs[ID].txt;
  62.     }
  63.  
  64.     public static Quip[] QUIP()
  65.     {
  66.         string path = "language";
  67.         Language lang = Language.Load(path);
  68.  
  69.         return lang.quips.ToArray();
  70.     }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement