2025-08-27 16:33:21 +08:00
|
|
|
class_name DirTool
|
|
|
|
|
|
|
|
|
|
static func listdir(path: String) -> Array[String]:
|
|
|
|
|
var files: Array[String] = []
|
|
|
|
|
var dir = DirAccess.open(path)
|
2025-09-21 12:53:15 +08:00
|
|
|
if !path.ends_with("/"):
|
|
|
|
|
path += "/"
|
2025-08-27 16:33:21 +08:00
|
|
|
if dir:
|
|
|
|
|
dir.list_dir_begin()
|
|
|
|
|
var file_name = dir.get_next()
|
|
|
|
|
while file_name != "":
|
|
|
|
|
if file_name != "." and file_name != "..":
|
2025-09-21 13:56:50 +08:00
|
|
|
if not file_name.get_extension() == "import":
|
|
|
|
|
if file_name.get_extension() == "remap":
|
|
|
|
|
file_name = file_name.substr(0, len(file_name) - 6)
|
|
|
|
|
files.append(path + file_name)
|
2025-08-27 16:33:21 +08:00
|
|
|
file_name = dir.get_next()
|
|
|
|
|
dir.list_dir_end()
|
|
|
|
|
return files
|
|
|
|
|
else:
|
|
|
|
|
return []
|
2025-09-21 13:05:20 +08:00
|
|
|
static func getBasenameWithoutExtension(path: String) -> String:
|
|
|
|
|
return path.get_file().get_basename()
|