mirror of
https://github.com/CommunityOx/ox_lib.git
synced 2026-08-19 07:56:02 +01:00
refactor(client/zones): add types and change indentation
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user