2022-04-19 01:09:22 +10:00
function lib . checkDependency ( resource , minimumVersion , printMessage )
2022-02-28 02:40:25 +00:00
local currentVersion = GetResourceMetadata ( resource , ' version ' , 0 ) : match ( ' %d%.%d+%.%d+ ' )
2022-08-22 20:53:55 +10:00
if currentVersion ~= minimumVersion then
2022-09-29 17:14:11 +10:00
local cv = { string.strsplit ( ' . ' , currentVersion ) }
local mv = { string.strsplit ( ' . ' , minimumVersion ) }
2022-08-23 19:29:45 +10:00
local msg = ( " ^1%s requires version '%s' of '%s' (current version: %s)^0 " ) : format ( GetInvokingResource ( ) or GetCurrentResourceName ( ) , minimumVersion , resource , currentVersion )
2022-09-29 17:14:11 +10:00
for i = 1 , # cv do
local current , minimum = tonumber ( cv [ i ] ) , tonumber ( mv [ i ] )
if current ~= minimum then
if current < minimum then
if printMessage then
return print ( msg )
end
return false , msg
else break end
end
2022-08-22 20:53:55 +10:00
end
2022-02-28 02:40:25 +00:00
end
return true
end