public static InputLayoutToken <XboxInputId> LoadCustomLayout(string joystickName) { string path = System.IO.Path.Combine(Application.persistentDataPath, GetJoystickConfigFileName(joystickName)); if (System.IO.File.Exists(path)) { using (var strm = new System.IO.FileStream(path, System.IO.FileMode.Open, System.IO.FileAccess.Read)) using (var serializer = com.spacepuppy.Serialization.SPSerializer.Create()) { var formatter = new com.spacepuppy.Serialization.Json.JsonFormatter(); return(serializer.Deserialize(formatter, strm) as InputLayoutToken <XboxInputId>); } } return(null); }
public static void SaveCustomLayout(string joystickName, InputLayoutToken <XboxInputId> token) { if (token == null) { return; } string path = System.IO.Path.Combine(Application.persistentDataPath, GetJoystickConfigFileName(joystickName)); using (var strm = new System.IO.MemoryStream()) using (var serializer = com.spacepuppy.Serialization.SPSerializer.Create()) { var formatter = new com.spacepuppy.Serialization.Json.JsonFormatter(); serializer.Serialize(formatter, strm, token); using (var file = new System.IO.FileStream(path, System.IO.FileMode.Create, System.IO.FileAccess.Write)) { strm.Position = 0; var arr = strm.ToArray(); file.Write(arr, 0, arr.Length); } } }