ed
This commit is contained in:
parent
510e3ffcf2
commit
f43cf424cf
305 changed files with 34683 additions and 0 deletions
|
@ -0,0 +1,75 @@
|
|||
---@diagnostic disable: duplicate-set-field
|
||||
local id = Ids or Require("lib/utility/shared/ids.lua")
|
||||
Marker = {}
|
||||
local Created = {}
|
||||
|
||||
function Marker.New(data)
|
||||
if not data.position or not data.position.x or not data.position.y or not data.position.z then
|
||||
print("Invalid marker position. Must be a vector3 with x, y, and z coordinates.")
|
||||
return
|
||||
end
|
||||
|
||||
local _id = data.id or id.CreateUniqueId(Created)
|
||||
local data = {
|
||||
id = _id,
|
||||
position = data.position,
|
||||
offset = data.offset or vector3(0.0, 0.0, 0.0),
|
||||
marker = data.marker or 1,
|
||||
rotation = data.rotation or vector3(0, 0, 0),
|
||||
size = data.size or vector3(1.0, 1.0, 1.0),
|
||||
color = data.color or vector3(0, 255, 0),
|
||||
alpha = data.alpha or 255,
|
||||
bobUpAndDown = data.bobUpAndDown,
|
||||
-- interaction = data.interaction or false, -- Uncomment if you re-implement interaction logic
|
||||
rotate = data.rotate,
|
||||
textureDict = data.textureDict,
|
||||
textureName = data.textureName,
|
||||
drawOnEnts = data.drawOnEnts,
|
||||
}
|
||||
Created[_id] = data
|
||||
return _id
|
||||
end
|
||||
function Marker.Destroy(id)
|
||||
if not id or not Created[id] then return end
|
||||
Created[id] = nil
|
||||
return true
|
||||
end
|
||||
|
||||
function Marker.Create(data)
|
||||
local _id = Marker.New(data)
|
||||
if not _id then return end
|
||||
TriggerClientEvent("community_bridge:Client:Marker", -1, Created[_id])
|
||||
return _id
|
||||
end
|
||||
|
||||
function Marker.Remove(id)
|
||||
if not Marker.Destroy(id) then return end
|
||||
TriggerClientEvent("community_bridge:Client:MarkerRemove", -1, id)
|
||||
end
|
||||
|
||||
function Marker.CreateBulk(datas)
|
||||
if not datas then return end
|
||||
local toClient = {}
|
||||
for k, v in pairs(datas) do
|
||||
table.insert(toClient, Marker.Create(v))
|
||||
end
|
||||
TriggerClientEvent("community_bridge:Client:MarkerBulk", -1, toClient)
|
||||
return toClient
|
||||
end
|
||||
|
||||
function Marker.RemoveBulk(ids)
|
||||
if not ids then return end
|
||||
local toClient = {}
|
||||
for k, v in pairs(ids) do
|
||||
local id = v
|
||||
if type(v) == "table" then
|
||||
id = v.id
|
||||
end
|
||||
Marker.Destroy(id)
|
||||
table.insert(toClient, id)
|
||||
end
|
||||
TriggerClientEvent("community_bridge:Client:MarkerRemoveBulk", -1, toClient)
|
||||
end
|
||||
|
||||
exports("Marker", Marker)
|
||||
return Marker
|
Loading…
Add table
Add a link
Reference in a new issue