mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-04 18:41:51 +00:00
Merge branch 'main' into new-animation-features
This commit is contained in:
commit
9f40303661
17 changed files with 468 additions and 340 deletions
|
|
@ -208,7 +208,7 @@ function Version.__less(ver1, ver2)
|
|||
end
|
||||
|
||||
function Version.__greater_or_equal(ver1, ver2)
|
||||
return not Version.__less(ver2, ver1)
|
||||
return not Version.__less(ver1, ver2)
|
||||
end
|
||||
|
||||
function Version.__less_or_equal(ver1, ver2)
|
||||
|
|
@ -227,6 +227,11 @@ function Version.compare(op, ver1, ver2)
|
|||
ver1 = string.split(ver1, ".")
|
||||
ver2 = string.split(ver2, ".")
|
||||
|
||||
for i = 1, 3 do
|
||||
ver1[i] = tonumber(ver1[i]) or 0
|
||||
ver2[i] = tonumber(ver2[i]) or 0
|
||||
end
|
||||
|
||||
local comparison_func = Version.operators[op];
|
||||
|
||||
if comparison_func then
|
||||
|
|
@ -252,7 +257,7 @@ end
|
|||
|
||||
local function compare_version(op, dependent_version, actual_version)
|
||||
if Version.matches_pattern(dependent_version) and Version.matches_pattern(actual_version) then
|
||||
return Version.compare(op, dep_ver, actual_version)
|
||||
return Version.compare(op, actual_version, dependent_version)
|
||||
elseif dependent_version == "*" or dependent_version == actual_version then
|
||||
return true
|
||||
else
|
||||
|
|
|
|||
|
|
@ -98,40 +98,80 @@ local _udp_server_callbacks = {}
|
|||
local _udp_client_datagram_callbacks = {}
|
||||
local _udp_client_open_callbacks = {}
|
||||
local _http_response_callbacks = {}
|
||||
local _http_error_callbacks = {}
|
||||
|
||||
local http_request = network.__request
|
||||
local open_tcp = network.__open_tcp
|
||||
local open_udp = network.__open_udp
|
||||
local connect_tcp = network.__connect_tcp
|
||||
local connect_udp = network.__connect_udp
|
||||
network.__request = nil
|
||||
network.__open_tcp = nil
|
||||
network.__open_udp = nil
|
||||
network.__connect_tcp = nil
|
||||
network.__connect_udp = nil
|
||||
|
||||
local function request(url, params)
|
||||
local id = http_request(url, params)
|
||||
if params.on_response then
|
||||
_http_response_callbacks[id] = params.on_response
|
||||
end
|
||||
end
|
||||
|
||||
network.request = request
|
||||
|
||||
network.get = function(url, callback, errorCallback, headers)
|
||||
local id = network.__get(url, headers)
|
||||
if callback then
|
||||
_http_response_callbacks[id] = callback
|
||||
end
|
||||
if errorCallback then
|
||||
_http_error_callbacks[id] = errorCallback
|
||||
end
|
||||
return request(url, {
|
||||
method = "GET",
|
||||
headers = headers,
|
||||
on_response = function(response)
|
||||
if response.status / 100 == 2 then
|
||||
return callback(response.body)
|
||||
else
|
||||
return errorCallback(response.status, response.body)
|
||||
end
|
||||
end,
|
||||
on_error = function(response)
|
||||
errorCallback(response.status, response.body)
|
||||
end,
|
||||
follow_location = true,
|
||||
})
|
||||
end
|
||||
|
||||
network.get_binary = function(url, callback, errorCallback, headers)
|
||||
local id = network.__get_binary(url, headers)
|
||||
if callback then
|
||||
_http_response_callbacks[id] = callback
|
||||
end
|
||||
if errorCallback then
|
||||
_http_error_callbacks[id] = errorCallback
|
||||
end
|
||||
return request(url, {
|
||||
method = "GET",
|
||||
headers = headers,
|
||||
on_response = callback and (function (response)
|
||||
if response.code / 100 == 2 then
|
||||
return callback(Bytearray(response.body))
|
||||
else
|
||||
return errorCallback(response.status, response.body)
|
||||
end
|
||||
end),
|
||||
follow_location = true,
|
||||
})
|
||||
end
|
||||
|
||||
network.post = function(url, data, callback, errorCallback, headers)
|
||||
local id = network.__post(url, data, headers)
|
||||
if callback then
|
||||
_http_response_callbacks[id] = callback
|
||||
end
|
||||
if errorCallback then
|
||||
_http_error_callbacks[id] = errorCallback
|
||||
end
|
||||
network.post = function(url, body, callback, errorCallback, headers)
|
||||
return request(url, {
|
||||
method = "POST",
|
||||
headers = table.extend({
|
||||
"Content-Type: application/json"
|
||||
}, headers),
|
||||
body = body,
|
||||
on_response = function(response)
|
||||
if response.code / 100 == 2 then
|
||||
return callback(Bytearray(response.body))
|
||||
else
|
||||
return errorCallback(response.status, response.body)
|
||||
end
|
||||
end,
|
||||
follow_location = true,
|
||||
})
|
||||
end
|
||||
|
||||
network.tcp_open = function (port, handler)
|
||||
local socket = setmetatable({id=network.__open_tcp(port)}, ServerSocket)
|
||||
local socket = setmetatable({id=open_tcp(port)}, ServerSocket)
|
||||
|
||||
_tcp_server_callbacks[socket.id] = function(id)
|
||||
handler(setmetatable({id=id}, Socket))
|
||||
|
|
@ -141,7 +181,7 @@ end
|
|||
|
||||
network.tcp_connect = function(address, port, callback, errorCallback)
|
||||
local socket = setmetatable({id=0}, Socket)
|
||||
socket.id = network.__connect_tcp(address, port)
|
||||
socket.id = connect_tcp(address, port)
|
||||
_tcp_client_callbacks[socket.id] = function() callback(socket) end
|
||||
if errorCallback then
|
||||
_tcp_client_error_callbacks[socket.id] = function(message) errorCallback(socket, message) end
|
||||
|
|
@ -154,7 +194,7 @@ network.udp_open = function (port, datagramHandler)
|
|||
error "udp server cannot be opened without datagram handler"
|
||||
end
|
||||
|
||||
local socket = setmetatable({id=network.__open_udp(port)}, DatagramServerSocket)
|
||||
local socket = setmetatable({id=open_udp(port)}, DatagramServerSocket)
|
||||
|
||||
_udp_server_callbacks[socket.id] = function(address, port, data)
|
||||
datagramHandler(address, port, data, socket)
|
||||
|
|
@ -169,7 +209,7 @@ network.udp_connect = function (address, port, datagramHandler, openCallback)
|
|||
end
|
||||
|
||||
local socket = setmetatable({id=0}, WriteableSocket)
|
||||
socket.id = network.__connect_udp(address, port)
|
||||
socket.id = connect_udp(address, port)
|
||||
|
||||
_udp_client_datagram_callbacks[socket.id] = datagramHandler
|
||||
if openCallback then
|
||||
|
|
@ -239,20 +279,10 @@ network.__process_events = function()
|
|||
end
|
||||
end
|
||||
elseif etype == RESPONSE then
|
||||
if event[2] / 100 == 2 then
|
||||
local callback = _http_response_callbacks[event[3]]
|
||||
_http_response_callbacks[event[3]] = nil
|
||||
_http_error_callbacks[event[3]] = nil
|
||||
if callback then
|
||||
callback(event[4])
|
||||
end
|
||||
else
|
||||
local callback = _http_error_callbacks[event[3]]
|
||||
_http_response_callbacks[event[3]] = nil
|
||||
_http_error_callbacks[event[3]] = nil
|
||||
if callback then
|
||||
callback(event[2], event[4])
|
||||
end
|
||||
local callback = _http_response_callbacks[event[3]]
|
||||
_http_response_callbacks[event[3]] = nil
|
||||
if callback then
|
||||
callback(event[4])
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue