private void SaveXmlOrBinary(string path, StringDictionary languageTexts) { this.languageList = languageTexts.ToList(); bool isBinaryFile = this.extension == ".bin"; SerializationTemplate.Save <LanguageType>(path, languageList, isBinaryFile); }
public FastSerializationTemplate(Type type) { kleiTemplate = null; serializableFields = new Dictionary <string, DeserializationFieldInfo>(32); serializableProperties = new Dictionary <string, DeserializationPropertyInfo>(32); targetType = type; type.GetSerializationMethods(typeof(OnSerializingAttribute), typeof(OnSerializedAttribute), typeof(CustomSerialize), out onSerializing, out onSerialized, out customSerialize); // Add fields as set by the serialization config var sc = GetSerializationConfig(type); if (sc == MemberSerialization.OptIn) { while (type != typeof(object)) { AddOptInFields(type); AddOptInProperties(type); type = type.BaseType; } } else if (sc == MemberSerialization.OptOut) { while (type != typeof(object)) { AddPublicFields(type); AddPublicProperties(type); type = type.BaseType; } } }
public StringDictionary LoadXmlOrBinary(string path) { StringDictionary languageTexts = new StringDictionary(); this.languageList = SerializationTemplate.Load <LanguageType>(path, this.extensionEnumeration == e_languageExtension.Bin); this.languageList.ForEach(node => languageTexts.Add(node.Key, node.Value)); return(languageTexts); }
public LanguageType LoadEditorLanguageData(e_language newLanguage, e_languageExtension newExtension) { string path = DirectoryFunction.CombinePath(this.repositoryPath, newLanguage.ToString()) + "." + newExtension.ToString().ToLower(); //LanguageType languageData = new LanguageType(); if (newExtension == e_languageExtension.Ini) { IniFile parser = new IniFile(path); return(new StringDictionary(parser.KeysValues).ToList()); } else { return(SerializationTemplate.Load <LanguageType>(path, newExtension == e_languageExtension.Bin)); } }
public void InitializeLoadingDatas() { this.directories = DirectoryFunction.GetSubDirectories(this.repositoryPath); this.directories.Sort((a, b) => { return((Directory.GetLastWriteTime(a) > Directory.GetLastWriteTime(b)) ? 1 : -1); }); this.loadingDatas.Clear(); foreach (string directory in directories) { LoadingData loadingData = new LoadingData(); loadingData = SerializationTemplate.Load <LoadingData>(DirectoryFunction.CombinePath( DirectoryFunction.CombinePath(this.repositoryPath, directory), SaveInformation.loadingData)); this.loadingDatas.Add(loadingData); } }
public void SaveEditorLanguageData(e_language newLanguage, e_languageExtension newExtension, LanguageType languageData) { string path = DirectoryFunction.CombinePath(this.repositoryPath, newLanguage.ToString()) + "." + newExtension.ToString().ToLower(); if (newExtension == e_languageExtension.Ini) { IniFile parser = new IniFile(path); StringDictionary languageTexts = new StringDictionary(); languageData.ForEach(node => languageTexts.Add(node.Key, node.Value)); parser.SaveFile(languageTexts); } else { SerializationTemplate.Save <LanguageType>(path, languageData, newExtension == e_languageExtension.Bin); } }
/// <summary> /// Applied before GetSerializationTemplate runs. /// </summary> internal static bool Prefix(Type type, ref SerializationTemplate __result) { __result = FastSerializationManager.GetKleiSerializationTemplate(type); return(false); }