45 lines
1.1 KiB
C#
45 lines
1.1 KiB
C#
|
|
|
||
|
|
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<T>( string path ) where T:new()
|
||
|
|
{
|
||
|
|
return JSON.ParseObject<T>( 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() );
|
||
|
|
}
|
||
|
|
}
|