private SubMaterialManager() { SubMaterialList = new SubMaterialListInfo(); Load(CONFIG_PATH); SubMaterialList.Initialize(); foreach (var property in SubMaterialList.GetType().GetProperties()) { var propertyValue = property.GetValue(SubMaterialList, null); if (propertyValue == null) continue; if (propertyValue is SubMaterial) { _subMaterialItems.Add((SubMaterial)propertyValue); } } }
private void Load(string filename) { if (File.Exists(filename) == false) return; try { FileStream fs = new FileStream(filename, FileMode.Open); XmlReader sr = XmlReader.Create(fs); XmlSerializer xs = new XmlSerializer(SubMaterialList.GetType()); SubMaterialList = (SubMaterialListInfo)xs.Deserialize(sr); } catch (Exception e) { LogManager.Instance.WriteSystemLog(e.ToString()); } }