From 5c44b5c8551c578e3da08c3da5350219ebcded4e Mon Sep 17 00:00:00 2001 From: Kenshin13 <63159154+Kenshiin13@users.noreply.github.com> Date: Fri, 20 Dec 2024 22:25:38 +0100 Subject: [PATCH] refactor(es_extended/server/functions): move ESX.GetExtendedVehicleFromPlate logic into vehicle class --- [core]/es_extended/server/classes/vehicle.lua | 21 ++++++++++++------- [core]/es_extended/server/functions.lua | 6 +----- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/[core]/es_extended/server/classes/vehicle.lua b/[core]/es_extended/server/classes/vehicle.lua index 2f5d87f3..469cedb6 100644 --- a/[core]/es_extended/server/classes/vehicle.lua +++ b/[core]/es_extended/server/classes/vehicle.lua @@ -19,6 +19,7 @@ ---@field plate string ---@field isValid fun(self:VehicleClass):boolean ---@field new fun(owner:string, plate:string, coords:vector4): VehicleClass? +---@field getFromPlate fun(plate:string):VehicleClass? ---@field getPlate fun(self:VehicleClass):string? ---@field getNetId fun(self:VehicleClass):number? ---@field getEntity fun(self:VehicleClass):number? @@ -36,13 +37,9 @@ Core.vehicleClass = { assert(type(plate) == "string", "Expected 'plate' to be a string") assert(type(coords) == "vector4", "Expected 'coords' to be a vector4") - if Core.vehicles[plate] then - local obj = table.clone(Core.vehicleClass) - obj.plate = plate - - if obj:isValid() then - return obj - end + local xVehicle = Core.vehicleClass.getFromPlate(plate) + if xVehicle then + return xVehicle end local dbVehicle = MySQL.single.await("SELECT * FROM `owned_vehicles` WHERE `stored` = true AND `owner` = ? AND `plate` = ?", { owner, plate }) --[[@as DbVehicle]] @@ -84,6 +81,16 @@ Core.vehicleClass = { return obj end, + getFromPlate = function(plate) + if Core.vehicles[plate] then + local obj = table.clone(Core.vehicleClass) + obj.plate = plate + + if obj:isValid() then + return obj + end + end + end, isValid = function(self) local xVehicle = Core.vehicles[self.plate] if not xVehicle then diff --git a/[core]/es_extended/server/functions.lua b/[core]/es_extended/server/functions.lua index 4d61617f..90c5bc4f 100644 --- a/[core]/es_extended/server/functions.lua +++ b/[core]/es_extended/server/functions.lua @@ -629,9 +629,5 @@ end function ESX.GetExtendedVehicleFromPlate(plate) assert(type(plate) == "string", "Expected 'plate' to be a string") - if Core.vehicles[plate] then - local obj = table.clone(Core.vehicleClass) - obj.plate = plate - return obj - end + return Core.vehicleClass.getFromPlate(plate) end \ No newline at end of file