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@81: function addon.ContainerItem:New(id) Zerotorescue@81: local self = {}; Zerotorescue@81: Zerotorescue@81: setmetatable(self, addon.ContainerItem); Zerotorescue@81: Zerotorescue@81: -- Standard info everything needs Zerotorescue@81: self.id = id; Zerotorescue@81: self.totalCount = 0; Zerotorescue@81: self.locations = {}; Zerotorescue@81: Zerotorescue@81: return self; Zerotorescue@81: end Zerotorescue@81: Zerotorescue@110: function addon.ContainerItem:AddLocation(container, slot, count, price) Zerotorescue@81: table.insert(self.locations, { Zerotorescue@110: ["container"] = container, Zerotorescue@110: ["slot"] = slot, Zerotorescue@110: ["count"] = count, Zerotorescue@110: ["price"] = price, 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 Zerotorescue@110: Zerotorescue@110: function addon.ContainerItem:GetVendorPrice() Zerotorescue@110: for _, loc in pairs(self.locations) do Zerotorescue@110: if loc.price then Zerotorescue@110: return loc.price; Zerotorescue@110: end Zerotorescue@110: end Zerotorescue@110: end