Advertisement
Guest User

Untitled

a guest
Jun 20th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.91 KB | None | 0 0
  1. (() => {
  2.  
  3. ESX = {};
  4. ESX.HUDElements = [];
  5.  
  6. ESX.setHUDDisplay = function(opacity){
  7. $('#hud').css('opacity', opacity);
  8. }
  9.  
  10. ESX.HUDElements.sort((a,b) => {
  11. return a.index - b.index || b.priority - a.priority;
  12. })
  13.  
  14. }
  15.  
  16. ESX.updateHUDElement = function(name, data){
  17.  
  18. for(let i=0; i<ESX.HUDElements.length; i++)
  19. if(ESX.HUDElements[i].name == name)
  20. ESX.HUDElements[i].data = data;
  21.  
  22. ESX.refreshHUD();
  23.  
  24. }
  25.  
  26. ESX.deleteHUDElement = function(name){
  27.  
  28. for(let i=0; i<ESX.HUDElements.length; i++)
  29. if(ESX.HUDElements[i].name == name)
  30. ESX.HUDElements.splice(i, 1);
  31.  
  32. ESX.refreshHUD();
  33. }
  34.  
  35. ESX.refreshHUD = function(){
  36.  
  37. $('#hud').html('');
  38.  
  39. for(let i=0; i<ESX.HUDElements.length; i++){
  40. let html = Mustache.render(ESX.HUDElements[i].html, ESX.HUDElements[i].data);
  41. $('#hud').append(html);
  42. }
  43.  
  44. }
  45.  
  46. ESX.inventoryNotification = function(add, item, count){
  47.  
  48. let notif = '';
  49.  
  50. if(add)
  51. notif += '+';
  52. else
  53. notif += '-';
  54.  
  55. notif += count + ' ' + item.label;
  56.  
  57. let elem = $('<div>' + notif + '</div>');
  58.  
  59. $('#inventory_notifications').append(elem);
  60.  
  61. $(elem).delay(3000).fadeOut(1000, function(){
  62. elem.remove();
  63. })
  64. }
  65.  
  66. window.onData = (data) => {
  67.  
  68. switch(data.action){
  69.  
  70. case 'setHUDDisplay' : {
  71. ESX.setHUDDisplay(data.opacity);
  72. break;
  73. }
  74.  
  75. case 'insertHUDElement' : {
  76. ESX.insertHUDElement(data.name, data.index, data.priority, data.html, data.data);
  77. break;
  78. }
  79.  
  80. case 'updateHUDElement' : {
  81. ESX.updateHUDElement(data.name, data.data);
  82. break;
  83. }
  84.  
  85. case 'deleteHUDElement' : {
  86. ESX.deleteHUDElement(data.name);
  87. break;
  88. }
  89.  
  90. case 'inventoryNotification' : {
  91. ESX.inventoryNotification(data.add, data.item, data.count)
  92. }
  93.  
  94. }
  95.  
  96. }
  97.  
  98. window.onload = function(e){
  99. window.addEventListener('message', (event) => {
  100. onData(event.data)
  101. });
  102. }
  103.  
  104. })()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement