using System; using Godot; namespace Rokojori; public class GDFilesSync { public static void SaveJSON( string path, object data ) { SaveUTF8( path, JSON.StringifyObject( data ) ); } public static T LoadJSON( string path ) where T:new() { return JSON.ParseObject( LoadUTF8( path ) ); } public static void SaveUTF8( string path, string data ) { using var fileAccess = FileAccess.Open( path, FileAccess.ModeFlags.Write ); fileAccess.StoreString( data ); fileAccess.Close(); } public static string LoadUTF8( string path ) { using var fileAccess = FileAccess.Open( path, FileAccess.ModeFlags.Read ); return fileAccess.GetAsText( ); } public static void SaveBytes( string path, byte[] data ) { using var fileAccess = FileAccess.Open( path, FileAccess.ModeFlags.Write ); fileAccess.StoreBuffer( data ); fileAccess.Close(); } public static byte[] LoadBytes( string path ) { using var fileAccess = FileAccess.Open( path, FileAccess.ModeFlags.Read ); return fileAccess.GetBuffer( (long) fileAccess.GetLength() ); } }