Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- flush = function(self)
- table.sort(self.included, function(a, b)
- return a < b
- end)
- local len = self.count
- local left = len
- local j = 1
- for i = 1, len do
- if self.excluded[i] then
- left = left - 1
- else
- self.entities[j] = self.entities[i]
- j = j + 1
- end
- end
- for i = left + 1, len do
- self.entities[i] = nil
- end
- local eIndex = self.count - self.exclusions - 1 -- Its 0 based
- local iIndex = self.inclusions
- for i = eIndex + iIndex, 1, -1 do
- if self.inclusions[eIndex] > self.entities[eIndex] then
- self.entities[i - 1] = self.inclusions[i]
- self.inclusions[i] = nil
- iIndex = iIndex - 1
- else
- self.entities[i - 1] = self.entities[eIndex]
- self.entities[eIndex - 1] = nil
- eIndex = eIndex - 1
- end
- if iIndex == 0 then
- break
- end
- end
- self.entities = newEntities
- self.count = newCount
- self.included = {}
- self.excluded = {}
- self.inclusions = 0
- self.exclusions = 0
- end,
Advertisement
Add Comment
Please, Sign In to add comment