annotate Plugins/ItemCountAddons/DataStore (without guilds).lua @ 119:dc6f405c1a5d

Now resizing the mover frame based on text size. addon.Locations table now uses location names as value, rather than random numbers. Added proper Merchant restocking support. Please note this currently doesn?t take the bonus queue nor the min crafting queue options into account.
author Zerotorescue
date Sat, 15 Jan 2011 17:03:05 +0100
parents de18ef96983b
children
rev   line source
Zerotorescue@17 1 do
Zerotorescue@17 2
Zerotorescue@17 3 local function GetTotalCount(itemId)
Zerotorescue@17 4 local realm = GetRealmName();
Zerotorescue@17 5
Zerotorescue@17 6 local totalCount = 0;
Zerotorescue@17 7
Zerotorescue@17 8 -- Process all accounts
Zerotorescue@17 9 for accountName in pairs(DataStore:GetAccounts()) do
Zerotorescue@17 10
Zerotorescue@17 11 -- Process all charracters
Zerotorescue@17 12 for characterName, character in pairs(DataStore:GetCharacters(realm, accountName)) do
Zerotorescue@17 13 -- Get only useful info (currency / gear shouldn't contain the stuff we are interested in)
Zerotorescue@118 14 local bag, bank = DataStore:GetContainerItemCount(character, itemId);
Zerotorescue@118 15 bag = (bag or 0); bank = (bank or 0);
Zerotorescue@54 16 local auctionHouse = DataStore:GetAuctionHouseItemCount(character, itemId) or 0;
Zerotorescue@54 17 local mail = DataStore:GetMailItemCount(character, itemId) or 0;
Zerotorescue@17 18
Zerotorescue@17 19 totalCount = totalCount + bag + bank + auctionHouse + mail;
Zerotorescue@17 20 end
Zerotorescue@17 21 end
Zerotorescue@17 22
Zerotorescue@17 23 return totalCount or -1;
Zerotorescue@17 24 end
Zerotorescue@17 25
Zerotorescue@17 26 local function GetCharacterCount(itemId)
Zerotorescue@17 27 local character = DataStore:GetCharacter();
Zerotorescue@17 28
Zerotorescue@118 29 local bag, bank = DataStore:GetContainerItemCount(character, itemId);
Zerotorescue@118 30 bag = (bag or 0); bank = (bank or 0);
Zerotorescue@54 31 local auctionHouse = DataStore:GetAuctionHouseItemCount(character, itemId) or 0;
Zerotorescue@54 32 local mail = DataStore:GetMailItemCount(character, itemId) or 0;
Zerotorescue@17 33
Zerotorescue@17 34 return bag, bank, auctionHouse, mail;
Zerotorescue@17 35 end
Zerotorescue@17 36
Zerotorescue@17 37 local function IsEnabled()
Zerotorescue@17 38 return (DataStore and DataStore.GetContainerItemCount and DataStore.GetAuctionHouseItemCount and DataStore.GetMailItemCount);
Zerotorescue@17 39 end
Zerotorescue@17 40
Zerotorescue@17 41 IMRegisterItemCountAddon("DataStore (without guilds)", GetTotalCount, GetCharacterCount, IsEnabled);
Zerotorescue@17 42
Zerotorescue@17 43 end