mirror of
https://github.com/Redot-Engine/redot-engine.git
synced 2025-12-06 15:21:56 -05:00
Expose a File.flush() method to scripting
This can be used to ensure a file has its contents saved even if the project crashes or is killed by the user (among other use cases). See discussion in #29075.
This commit is contained in:
@@ -1254,6 +1254,11 @@ Error _File::open(const String &p_path, ModeFlags p_mode_flags) {
|
||||
return err;
|
||||
}
|
||||
|
||||
void _File::flush() {
|
||||
ERR_FAIL_COND_MSG(!f, "File must be opened before flushing.");
|
||||
f->flush();
|
||||
}
|
||||
|
||||
void _File::close() {
|
||||
if (f) {
|
||||
memdelete(f);
|
||||
@@ -1547,6 +1552,7 @@ void _File::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("open_compressed", "path", "mode_flags", "compression_mode"), &_File::open_compressed, DEFVAL(0));
|
||||
|
||||
ClassDB::bind_method(D_METHOD("open", "path", "flags"), &_File::open);
|
||||
ClassDB::bind_method(D_METHOD("flush"), &_File::flush);
|
||||
ClassDB::bind_method(D_METHOD("close"), &_File::close);
|
||||
ClassDB::bind_method(D_METHOD("get_path"), &_File::get_path);
|
||||
ClassDB::bind_method(D_METHOD("get_path_absolute"), &_File::get_path_absolute);
|
||||
|
||||
Reference in New Issue
Block a user