annotate Classes/ContainerItem.class.lua @ 140:cd461a41723c

Now keeping track how many times an item has been queued into your favorite crafting addon.
author Zerotorescue
date Tue, 18 Jan 2011 11:34:48 +0100
parents dc6f405c1a5d
children
rev   line source
Zerotorescue@81 1 local addon = select(2, ...);
Zerotorescue@81 2
Zerotorescue@81 3 -- Define the class
Zerotorescue@81 4
Zerotorescue@81 5 addon.ContainerItem = {};
Zerotorescue@81 6 addon.ContainerItem.__index = addon.ContainerItem;
Zerotorescue@81 7
Zerotorescue@81 8 -- Construct
Zerotorescue@117 9 function addon.ContainerItem:New()
Zerotorescue@81 10 local self = {};
Zerotorescue@81 11
Zerotorescue@81 12 setmetatable(self, addon.ContainerItem);
Zerotorescue@81 13
Zerotorescue@81 14 -- Standard info everything needs
Zerotorescue@81 15 self.totalCount = 0;
Zerotorescue@81 16 self.locations = {};
Zerotorescue@119 17 self.price = nil; -- usually unused
Zerotorescue@81 18
Zerotorescue@81 19 return self;
Zerotorescue@81 20 end
Zerotorescue@81 21
Zerotorescue@111 22 function addon.ContainerItem:AddLocation(container, slot, count)
Zerotorescue@81 23 table.insert(self.locations, {
Zerotorescue@110 24 ["container"] = container,
Zerotorescue@110 25 ["slot"] = slot,
Zerotorescue@110 26 ["count"] = count,
Zerotorescue@81 27 });
Zerotorescue@81 28
Zerotorescue@110 29 -- -1 indicates unlimited supply
Zerotorescue@110 30 if self.totalCount ~= -1 then
Zerotorescue@110 31 if count == -1 then
Zerotorescue@110 32 self.totalCount = -1;
Zerotorescue@110 33 else
Zerotorescue@110 34 self.totalCount = (self.totalCount + count);
Zerotorescue@110 35 end
Zerotorescue@110 36 end
Zerotorescue@81 37
Zerotorescue@81 38 return true;
Zerotorescue@81 39 end