Zerotorescue@81: local addon = select(2, ...); Zerotorescue@81: Zerotorescue@81: -- Define the class Zerotorescue@81: Zerotorescue@81: addon.ContainerItem = {}; Zerotorescue@81: addon.ContainerItem.__index = addon.ContainerItem; Zerotorescue@81: Zerotorescue@81: -- Construct Zerotorescue@117: function addon.ContainerItem:New() Zerotorescue@81: local self = {}; Zerotorescue@81: Zerotorescue@81: setmetatable(self, addon.ContainerItem); Zerotorescue@81: Zerotorescue@81: -- Standard info everything needs Zerotorescue@81: self.totalCount = 0; Zerotorescue@81: self.locations = {}; Zerotorescue@119: self.price = nil; -- usually unused Zerotorescue@81: Zerotorescue@81: return self; Zerotorescue@81: end Zerotorescue@81: Zerotorescue@111: function addon.ContainerItem:AddLocation(container, slot, count) Zerotorescue@81: table.insert(self.locations, { Zerotorescue@110: ["container"] = container, Zerotorescue@110: ["slot"] = slot, Zerotorescue@110: ["count"] = count, Zerotorescue@81: }); Zerotorescue@81: Zerotorescue@110: -- -1 indicates unlimited supply Zerotorescue@110: if self.totalCount ~= -1 then Zerotorescue@110: if count == -1 then Zerotorescue@110: self.totalCount = -1; Zerotorescue@110: else Zerotorescue@110: self.totalCount = (self.totalCount + count); Zerotorescue@110: end Zerotorescue@110: end Zerotorescue@81: Zerotorescue@81: return true; Zerotorescue@81: end