2 using System.Collections.Generic;
\r
5 using System.Xml.Serialization;
\r
9 [XmlRoot("TsoMqoConfig")]
\r
13 public struct KeyAndValue
\r
15 [XmlAttribute("key")] public string Key;
\r
16 [XmlAttribute("value")] public string Value;
\r
18 public KeyAndValue(string k, string v)
\r
25 public static Config Instance;
\r
27 public static string AssemblyPath { get { return Path.GetDirectoryName(Type.Assembly.Location); } }
\r
28 public static string ConfigFile { get { return Path.Combine(AssemblyPath, "config.xml"); } }
\r
29 public static Type Type { get { return typeof(Config); } }
\r
31 [XmlElement("object_bone_list")] public List<KeyAndValue> object_bone_list = new List<KeyAndValue>();
\r
32 [XmlIgnore] public Dictionary<string, string> object_bone_map = new Dictionary<string,string>();
\r
39 public static void Load()
\r
43 using(FileStream fs= File.OpenRead(ConfigFile))
\r
45 XmlSerializer s = new XmlSerializer(Type);
\r
46 Instance = s.Deserialize(fs) as Config;
\r
47 Instance.AfterDeserialize();
\r
49 } catch(Exception e)
\r
51 System.Diagnostics.Debug.WriteLine(e.ToString());
\r
52 Instance = new Config();
\r
56 public static void Save()
\r
60 using(FileStream fs= File.OpenWrite(ConfigFile))
\r
63 XmlSerializer s = new XmlSerializer(Type);
\r
64 Instance.BeforeSerialize();
\r
65 s.Serialize(fs, Instance);
\r
68 } catch(Exception e)
\r
70 System.Diagnostics.Debug.WriteLine(e.ToString());
\r
74 public void BeforeSerialize()
\r
76 object_bone_list.Clear();
\r
78 foreach(string i in object_bone_map.Keys)
\r
79 object_bone_list.Add(new KeyAndValue(i, object_bone_map[i]));
\r
82 public void AfterDeserialize()
\r
84 object_bone_map.Clear();
\r
86 foreach(KeyAndValue i in object_bone_list)
\r
87 object_bone_map.Add(i.Key, i.Value);
\r