refactor(client/zones): add types and change indentation

This commit is contained in:
Linden
2022-09-14 08:08:00 +10:00
parent 9a17b9bac5
commit 62d56fa885

View File

@@ -1,4 +1,16 @@
local glm = require 'glm' local glm = require 'glm'
---@class CZone
---@field id number
---@field coords vector3
---@field distance number
---@field remove fun()
---@field contains fun(self: CZone, coords?: vector3)
---@field onEnter fun(self: CZone)?
---@field onExit fun(self: CZone)?
---@field inside fun(self: CZone)?
---@type { [number]: CZone }
Zones = {} Zones = {}
local function makeTriangles(t) local function makeTriangles(t)
@@ -281,7 +293,6 @@ CreateThread(function()
for i = 1, insideCount do for i = 1, insideCount do
local zone = inside[i] local zone = inside[i]
if zone.debug then if zone.debug then
zone:debug() zone:debug()
@@ -308,9 +319,11 @@ local DrawPoly = DrawPoly
local function debugPoly(self) local function debugPoly(self)
for i = 1, #self.triangles do for i = 1, #self.triangles do
local triangle = self.triangles[i] local triangle = self.triangles[i]
DrawPoly(triangle[1].x, triangle[1].y, triangle[1].z, triangle[2].x, triangle[2].y, triangle[2].z, triangle[3].x, DrawPoly(triangle[1].x, triangle[1].y, triangle[1].z, triangle[2].x, triangle[2].y, triangle[2].z, triangle[3].x
,
triangle[3].y, triangle[3].z, 255, 42, 24, 100) triangle[3].y, triangle[3].z, 255, 42, 24, 100)
DrawPoly(triangle[2].x, triangle[2].y, triangle[2].z, triangle[1].x, triangle[1].y, triangle[1].z, triangle[3].x, DrawPoly(triangle[2].x, triangle[2].y, triangle[2].z, triangle[1].x, triangle[1].y, triangle[1].z, triangle[3].x
,
triangle[3].y, triangle[3].z, 255, 42, 24, 100) triangle[3].y, triangle[3].z, 255, 42, 24, 100)
end end
for i = 1, #self.polygon do for i = 1, #self.polygon do
@@ -353,6 +366,7 @@ local function convertToVector(coords)
end end
lib.zones = { lib.zones = {
---@return CZone
poly = function(data) poly = function(data)
data.id = #Zones + 1 data.id = #Zones + 1
data.thickness = data.thickness or 4 data.thickness = data.thickness or 4
@@ -365,7 +379,6 @@ lib.zones = {
end end
data.polygon = glm.polygon.new(points) data.polygon = glm.polygon.new(points)
data.coords = data.polygon:centroid() data.coords = data.polygon:centroid()
data.remove = removeZone data.remove = removeZone
data.contains = contains data.contains = contains
@@ -379,6 +392,7 @@ lib.zones = {
return data return data
end, end,
---@return CZone
box = function(data) box = function(data)
data.id = #Zones + 1 data.id = #Zones + 1
data.coords = convertToVector(data.coords) data.coords = convertToVector(data.coords)
@@ -403,6 +417,7 @@ lib.zones = {
return data return data
end, end,
---@return CZone
sphere = function(data) sphere = function(data)
data.id = #Zones + 1 data.id = #Zones + 1
data.coords = convertToVector(data.coords) data.coords = convertToVector(data.coords)