// Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "Kismet/BlueprintFunctionLibrary.h" #include "FileSystemOperation.generated.h" /** * */ UCLASS() class PUERTSEDITOR_API UFileSystemOperation : public UBlueprintFunctionLibrary { GENERATED_BODY() UFUNCTION(BlueprintCallable, Category = "File") static bool ReadFile(FString Path, FString& Data); UFUNCTION(BlueprintCallable, Category = "File") static void WriteFile(FString Path, FString Data); UFUNCTION(BlueprintCallable, Category = "File") static FString ResolvePath(FString Path); UFUNCTION(BlueprintCallable, Category = "File") static bool FileExists(FString Path); UFUNCTION(BlueprintCallable, Category = "File") static bool DirectoryExists(FString Path); UFUNCTION(BlueprintCallable, Category = "File") static void CreateDirectory(FString Path); UFUNCTION(BlueprintCallable, Category = "File") static FString GetCurrentDirectory(); UFUNCTION(BlueprintCallable, Category = "File") static TArray GetDirectories(FString Path); UFUNCTION(BlueprintCallable, Category = "File") static TArray GetFiles(FString Path); UFUNCTION(BlueprintCallable, Category = "File") static void PuertsNotifyChange(FString Path, FString Source); UFUNCTION(BlueprintCallable, Category = "File") static FString FileMD5Hash(FString Path); // UFUNCTION(BlueprintCallable, Category = "File") // static TArray ReadDirectory(FString Path, TArray Extensions, TArray exclude, int32 Depth); }; #ifdef PUERTS_WITH_SOURCE_CONTROL namespace PuertsSourceControlUtils { PUERTSEDITOR_API bool MakeSourceControlFileWritable(const FString& InFileToMakeWritable); PUERTSEDITOR_API bool CheckoutSourceControlFile(const FString& InFileToCheckout); } // namespace PuertsSourceControlUtils #endif