Dir Access returning null even when previously checked

4.4

Why DirAccess.Open(terrain_folder + resource_name) returns null?

string resource_name = editing_terrain.Name + terrain_shader_ext;
if (ResourceLoader.Exists(terrain_folder + resource_name))
{
	string abs_path = DirAccess.Open(terrain_folder + resource_name).GetCurrentDir();
	DirAccess.RemoveAbsolute(abs_path );
}

terrain_folder + resource_name seems to be a resource file. DirAccess.Open() can only open directories, it cannot open files.

Your code should look like this:

string resource_name = editing_terrain.Name + terrain_shader_ext;
if (ResourceLoader.Exists(terrain_folder + resource_name))
{
        using var file = FileAccess.Open(terrain_folder + resource_name, FileAccess.ModeFlags.Read);
	string abs_path = file.GetPathAbsolute();
        file.close();
	DirAccess.RemoveAbsolute(abs_path);
}