From fc3e5d6339f7ceeb7cf4387abe4bce2e780772a2 Mon Sep 17 00:00:00 2001 From: Linden <65407488+thelindat@users.noreply.github.com> Date: Wed, 27 Apr 2022 17:09:32 +1000 Subject: [PATCH] feat(zones): add contains method to zones Reduces number of table lookups for micro-optimisation. zone:contains(coords) is also a bit nicer than zone.polygon:contains(coords). --- imports/zones/client.lua | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/imports/zones/client.lua b/imports/zones/client.lua index ea45c55..9d2b860 100644 --- a/imports/zones/client.lua +++ b/imports/zones/client.lua @@ -77,6 +77,12 @@ CreateThread(function() end end) +local glm_polygon_contains = glm.polygon.contains + +local function contains(self, coords) + return glm_polygon_contains(self.polygon, coords) +end + return { poly = function(data) data.id = #zones + 1 @@ -85,6 +91,7 @@ return { data.remove = removeZone data.centroid = data.polygon:centroid() data.debug = data.debug and debug + data.contains = contains zones[data.id] = data return data @@ -104,6 +111,7 @@ return { data.polygon = data.polygon + data.centroid data.remove = removeZone data.debug = data.debug and debug + data.contains = contains zones[data.id] = data return data