public static SteamVR_Input_ActionFile Open(string path) { if (File.Exists(path)) { string jsonText = File.ReadAllText(path); SteamVR_Input_ActionFile actionFile = Newtonsoft.Json.JsonConvert.DeserializeObject <SteamVR_Input_ActionFile>(jsonText); actionFile.filePath = path; actionFile.InitializeHelperLists(); return(actionFile); } return(null); }
/// <summary> /// Load from disk and deserialize the actions file /// </summary> /// <param name="force">Force a refresh of this file from disk</param> public static bool InitializeFile(bool force = false) { string projectPath = Application.dataPath; int lastIndex = projectPath.LastIndexOf("/"); projectPath = projectPath.Remove(lastIndex, projectPath.Length - lastIndex); actionsFilePath = Path.Combine(projectPath, SteamVR_Settings.instance.actionsFilePath); string jsonText = null; if (File.Exists(actionsFilePath)) { jsonText = System.IO.File.ReadAllText(actionsFilePath); } else { Debug.LogErrorFormat("[SteamVR] Actions file does not exist in project root: {0}", actionsFilePath); return(false); } if (fileInitialized == true || (fileInitialized == true && force == false)) { string newHash = SteamVR_Utils.GetBadMD5Hash(jsonText); if (newHash == actionFileHash) { return(true); } actionFileHash = newHash; } actionFile = Newtonsoft.Json.JsonConvert.DeserializeObject <SteamVR_Input_ActionFile>(jsonText); actionFile.InitializeHelperLists(); fileInitialized = true; return(true); }