(() => { ESX = {}; ESX.HUDElements = []; ESX.setHUDDisplay = function (opacity) { $('#hud').css('opacity', opacity); }; ESX.insertHUDElement = function (name, index, priority, html, data) { ESX.HUDElements.push({ name: name, index: index, priority: priority, html: html, data: data }); ESX.HUDElements.sort((a, b) => { return a.index - b.index || b.priority - a.priority; }); }; ESX.updateHUDElement = function (name, data) { for (let i = 0; i < ESX.HUDElements.length; i++) { if (ESX.HUDElements[i].name == name) { ESX.HUDElements[i].data = data; } } ESX.refreshHUD(); }; ESX.deleteHUDElement = function (name) { for (let i = 0; i < ESX.HUDElements.length; i++) { if (ESX.HUDElements[i].name == name) { ESX.HUDElements.splice(i, 1); } } ESX.refreshHUD(); }; ESX.resetHUDElements = function () { ESX.HUDElements = []; ESX.refreshHUD(); }; ESX.refreshHUD = function () { $('#hud').html(''); for (let i = 0; i < ESX.HUDElements.length; i++) { let html = Mustache.render(ESX.HUDElements[i].html, ESX.HUDElements[i].data); $('#hud').append(html); } }; ESX.inventoryNotification = function (add, label, count) { let notif = ''; if (add) { notif += '+'; } else { notif += '-'; } if (count) { notif += count + ' ' + label; } else { notif += ' ' + label; } let elem = $('