From 053d5d45ec4a4969053580f97ecae70681b17baa Mon Sep 17 00:00:00 2001 From: Diogo Manuel Coelho Morais dos Santos Date: Tue, 28 Feb 2023 19:48:08 +0000 Subject: [PATCH] fix(radial): replace global item with same id instead of duplicating (#255) --- resource/interface/client/radial.lua | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/resource/interface/client/radial.lua b/resource/interface/client/radial.lua index 49402fd..f2e39b9 100644 --- a/resource/interface/client/radial.lua +++ b/resource/interface/client/radial.lua @@ -133,16 +133,28 @@ function lib.addRadialItem(items) local menuSize = #menuItems local invokingResource = GetInvokingResource() - if table.type(items) == 'array' then - for i = 1, #items do - local item = items[i] - item.resource = invokingResource + items = table.type(items) == 'array' and items or { items } + + for i = 1, #items do + local item = items[i] + item.resource = invokingResource + + if menuSize == 0 then menuSize += 1 menuItems[menuSize] = item + else + for j = 1, menuSize do + if menuItems[j].id == item.id then + menuItems[j] = item + break + end + + if j == menuSize then + menuSize += 1 + menuItems[menuSize] = item + end + end end - else - items.resource = invokingResource - menuItems[menuSize + 1] = items end if isOpen and not currentRadial then