/
ulupapi
/
Race_game
Обзор
Документация
Войти
/
ulupapi
/
Race_game
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
scripts/FindBadResPaths.gd
55 строк
1 KB
ulupapi
Game
26 дек 2025, 19:34
26 дек 2025, 19:34
7574b6d
Код
Авторство
О чём код?
@tool extends EditorScript func _run() -> void: var hits: Array[String] = [] _scan_dir("res://", hits) if hits.is_empty(): print("[FindBadResPaths] OK: no bare 'res://' found.") else: printerr("[FindBadResPaths] FOUND ", hits.size(), " issue(s):") for h in hits: printerr(h) func _scan_dir(dir_path: String, hits: Array[String]) -> void: var d := DirAccess.open(dir_path) if d == null: return d.list_dir_begin() var name := d.get_next() while name != "": if not name.begins_with("."): var path := dir_path + name if d.current_is_dir(): _scan_dir(path + "/", hits) else: var ext := path.get_extension().to_lower() if ext in ["tscn","tres","gd","cfg","import","theme","txt","godot"]: _scan_file(path, hits) name = d.get_next() d.list_dir_end() func _scan_file(path: String, hits: Array[String]) -> void: # не сканируем сам этот файл if path == get_script().resource_path or path.ends_with("FindBadResPaths.gd"): return var f := FileAccess.open(path, FileAccess.READ) if f == null: return var line_no := 1 while not f.eof_reached(): var line := f.get_line() var s := line.strip_edges() # игнорируем комментарии в .gd if path.get_extension().to_lower() == "gd" and s.begins_with("#"): line_no += 1 continue if s.contains('="res://"') \ or s.contains('path="res://"') \ or s.contains(': "res://"'): hits.append("%s:%d %s" % [path, line_no, s]) line_no += 1 f.close()