Tjakka5

Untitled

Aug 28th, 2018
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.33 KB | None | 0 0
  1.       flush = function(self)
  2.          table.sort(self.included, function(a, b)
  3.             return a < b
  4.          end)
  5.  
  6.          local len  = self.count
  7.          local left = len
  8.  
  9.          local j = 1
  10.          for i = 1, len do
  11.             if self.excluded[i] then
  12.                left = left - 1
  13.             else
  14.                self.entities[j] = self.entities[i]
  15.                j = j + 1
  16.             end
  17.          end
  18.  
  19.          for i = left + 1, len do
  20.             self.entities[i] = nil
  21.          end
  22.  
  23.          local eIndex = self.count - self.exclusions - 1 -- Its 0 based
  24.          local iIndex = self.inclusions
  25.  
  26.          for i = eIndex + iIndex, 1, -1 do
  27.             if self.inclusions[eIndex] > self.entities[eIndex] then
  28.                self.entities[i - 1] = self.inclusions[i]
  29.                self.inclusions[i] = nil
  30.                iIndex = iIndex - 1
  31.             else
  32.                self.entities[i - 1] = self.entities[eIndex]
  33.                self.entities[eIndex - 1] = nil
  34.                eIndex = eIndex - 1
  35.             end
  36.  
  37.             if iIndex == 0 then
  38.                break
  39.             end
  40.          end
  41.  
  42.          self.entities = newEntities
  43.          self.count    = newCount
  44.  
  45.          self.included = {}
  46.          self.excluded = {}
  47.          self.inclusions = 0
  48.          self.exclusions = 0
  49.       end,
Advertisement
Add Comment
Please, Sign In to add comment