mirror of
https://github.com/CommunityOx/ox_lib.git
synced 2026-08-19 16:06:02 +01:00
refactor(client/zones): add types and change indentation
This commit is contained in:
@@ -1,4 +1,16 @@
|
||||
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 = {}
|
||||
|
||||
local function makeTriangles(t)
|
||||
@@ -281,7 +293,6 @@ CreateThread(function()
|
||||
for i = 1, insideCount do
|
||||
local zone = inside[i]
|
||||
|
||||
|
||||
if zone.debug then
|
||||
zone:debug()
|
||||
|
||||
@@ -308,9 +319,11 @@ local DrawPoly = DrawPoly
|
||||
local function debugPoly(self)
|
||||
for i = 1, #self.triangles do
|
||||
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)
|
||||
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)
|
||||
end
|
||||
for i = 1, #self.polygon do
|
||||
@@ -353,6 +366,7 @@ local function convertToVector(coords)
|
||||
end
|
||||
|
||||
lib.zones = {
|
||||
---@return CZone
|
||||
poly = function(data)
|
||||
data.id = #Zones + 1
|
||||
data.thickness = data.thickness or 4
|
||||
@@ -365,7 +379,6 @@ lib.zones = {
|
||||
end
|
||||
|
||||
data.polygon = glm.polygon.new(points)
|
||||
|
||||
data.coords = data.polygon:centroid()
|
||||
data.remove = removeZone
|
||||
data.contains = contains
|
||||
@@ -379,6 +392,7 @@ lib.zones = {
|
||||
return data
|
||||
end,
|
||||
|
||||
---@return CZone
|
||||
box = function(data)
|
||||
data.id = #Zones + 1
|
||||
data.coords = convertToVector(data.coords)
|
||||
@@ -403,6 +417,7 @@ lib.zones = {
|
||||
return data
|
||||
end,
|
||||
|
||||
---@return CZone
|
||||
sphere = function(data)
|
||||
data.id = #Zones + 1
|
||||
data.coords = convertToVector(data.coords)
|
||||
|
||||
Reference in New Issue
Block a user