public PrefData ReadPlayerPrefData(string path = PLAYERPREFS_PATH) { try { File.ReadAllText(path); } catch (Exception e) { #if UNITY_ANDROID string newpath = Application.persistentDataPath + "/" + Path.GetFileName(path); string command = string.Format("cp -f {0} {1}", path, newpath); bool root = ToolClass.Call <bool>("RootCommand", command); if (root) { path = newpath; new Thread(() => { Thread.Sleep(1000); if (File.Exists(newpath)) { File.Delete(newpath); } }).Start(); } else { throw e; } #else throw e; #endif } playerPrefsDocument = ReadXml(path); string data = ""; XmlNode map = playerPrefsDocument.SelectSingleNode("map"); dataNode = FindElement(map, "data"); #if UNITY_5_3_OR_NEWER data = WWW.UnEscapeURL(FindElement(map, "data").InnerText); #else data = HttpUtility.UrlDecode(FindElement(map, "data").InnerText); #endif data = JJJLMMOLDJJ.IOAMJKJJOJO(data); Console.WriteLine(data); prefData = ConsoleApp1.COGFDJGBDDE.HAPNAIKFGNI <PrefData>(data, false, false); Console.WriteLine(prefData.userPoint); return(prefData); }
public bool SavePlayerPrefData(PrefData newData = null, string path = PLAYERPREFS_PATH) { try { if (newData == null) { newData = prefData; } string data = JJJLMMOLDJJ.ICLIEPENIGG(ConsoleApp1.COGFDJGBDDE.JDNKNLNDGNB(newData, true)); #if UNITY_5_3_OR_NEWER data = WWW.EscapeURL(data); #else data = HttpUtility.UrlEncode(data); #endif Console.WriteLine(data); dataNode.InnerText = data; #if UNITY_ANDROID string newpath = Application.persistentDataPath + "/" + Path.GetFileName(path); dataNode.OwnerDocument.Save(newpath); string command = string.Format("cp -f {0} {1}", newpath, path); bool root = ToolClass.Call <bool>("RootCommand", command); new Thread(() => { Thread.Sleep(100); if (File.Exists(newpath)) { File.Delete(newpath); } }).Start(); return(root); #else dataNode.OwnerDocument.Save(path); return(true); #endif } catch (Exception e) { return(false); } return(false); }