------------------------------------------------- -- Console - a debug log -- -- @classmod LogList -- @author Pawkette ( pawkette.heals@gmail.com ) -- @copyright MIT ------------------------------------------------- LogList = { first = 1, last = 0, data = {} } function LogList:New( ... ) local self = {} setmetatable( self, { __index = LogList } ) self:Initialize() return self end function LogList:Initialize() end function LogList:Push( value ) self.last = self.last + 1 self.data[ self.last ] = value end function LogList:Pop() if ( self.first > self.last ) then return nil end local value = self.data[ self.first ] self.data[ self.first ] = nil self.first = self.first + 1 end function LogList:Size() return self.last - self.first end function LogList:First() return self.first end function LogList:Last() return self.last end function LogList:Clear() self.data = {} self.first = 1 self.last = 0 end function LogList:At( index ) return self.data[ index ] end