35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
# File 'lib/u3d/hub_modules_parser.rb', line 35
def load_modules(version, os: U3dCore::Helper.operating_system, offline: false)
path = modules_path(version, os)
download_modules(os: os) if !Utils.file_exists_not_empty?(path) && !offline
unless Utils.file_exists_not_empty?(path)
UI.verbose "No modules registered for UnityHub for version #{version}"
files = Dir.glob("#{default_modules_path}/*-#{os}-modules.json")
vn = UnityVersionNumber.new(version)
versions_and_paths = files.map do |p|
v = File.basename(p).split('-')[0]
[UnityVersionNumber.new(v), p]
end
versions_and_paths = versions_and_paths.select { |a| a[0].parts[0] == vn.parts[0] && a[0].parts[1] == vn.parts[1] && a[0].parts[2] >= vn.parts[2] }
if versions_and_paths.empty?
UI.message "No closest version from UnityHub found for version #{version}"
return []
end
path = versions_and_paths.first[1]
end
return JSON.parse(File.read(path))
end
|