30 Commits

Author SHA1 Message Date
587a7e0d56 CS fixes 2016-09-23 00:36:46 +02:00
0cb3708671 - Clear some leaked globals
- CS fixes
2016-09-22 17:39:49 +02:00
35023a61c1 CS fixes 2016-09-21 00:06:41 +02:00
a4f08a0b44 - Fix some leaked globals
- CS fixes
2016-09-08 17:13:24 +02:00
771bfaf5eb Remove some more locals 2016-09-06 18:16:40 +02:00
48eba18c2b Remove some locals 2016-09-06 18:11:09 +02:00
089d270ade Remove some locals 2016-09-06 18:07:51 +02:00
83abacd2f9 Remove some locals 2016-09-06 18:04:57 +02:00
895f0ccd4c Variables in for statements are always locals 2016-09-06 18:01:28 +02:00
4d657ecee1 - CS fixes
- Local variable fixes
2016-09-06 17:51:08 +02:00
6352b997d1 Fix some more locals 2016-09-06 17:35:07 +02:00
23ff6cf7f3 Fixed some locals 2016-09-06 17:25:16 +02:00
17486c3251 Fix some locals 2016-09-06 17:13:14 +02:00
f6706c380b Fix uninitialized 'quality' variable 2016-09-06 17:01:50 +02:00
f4ac2a0139 Fix lua errors 2016-09-06 16:51:03 +02:00
b49f508c47 Use MyBagsCore-1.1 2016-09-06 16:39:14 +02:00
3a62dd9b99 Use MyBagsCore-1.1 2016-09-06 16:38:30 +02:00
6e353d9ebd Use MyBagsCore-1.1 2016-09-06 16:37:41 +02:00
733b7cc325 Remove MyBagsCache compatibility 2016-09-06 16:34:30 +02:00
f42d4c2a34 Remove MyBagsCache compatibility 2016-09-06 16:33:09 +02:00
7c694ba727 Remove MyBagsCache compatibility 2016-09-06 16:30:52 +02:00
77c25484f1 Remove MyBagsCache compatibility code 2016-09-06 16:28:58 +02:00
f75aa0bd11 Remove MyBagsCache reference 2016-09-06 16:26:57 +02:00
284bf213dd Remove MyBagsCache references 2016-09-06 16:24:25 +02:00
252e10de9a Delete Locals.xml 2016-09-06 16:16:41 +02:00
800a9b450b Delete enUS.lua 2016-09-06 16:16:11 +02:00
e086ca746b Delete Embeds.xml 2016-09-06 16:14:50 +02:00
e140c68663 Delete MyBagsCache.lua 2016-09-06 16:14:21 +02:00
1f35539578 Delete MyBagsCache.toc 2016-09-06 16:13:59 +02:00
5e6b8eebf8 Delete MyBagsCache.xml 2016-09-06 16:12:43 +02:00
13 changed files with 3542 additions and 4034 deletions

View File

@ -33,24 +33,3 @@ externals:
Libs/AceGUI-3.0:
url: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceGUI-3.0
tag: latest
MyBagsCache/Libs/LibStub:
url: svn://svn.wowace.com/wow/libstub/mainline/trunk
tag: latest
MyBagsCache/Libs/CallbackHandler-1.0:
url: svn://svn.wowace.com/wow/callbackhandler/mainline/trunk/CallbackHandler-1.0
tag: latest
MyBagsCache/Libs/AceAddon-3.0:
url: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceAddon-3.0
tag: latest
MyBagsCache/Libs/AceEvent-3.0:
url: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceEvent-3.0
tag: latest
MyBagsCache/Libs/AceDB-3.0:
url: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceDB-3.0
tag: latest
MyBagsCache/Libs/AceLocale-3.0:
url: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceLocale-3.0
tag: latest
move-folders:
MyBags/MyBagsCache: MyBagsCache

View File

@ -2,7 +2,7 @@
## Author: Ramble (modified by Isharra) (updated by thegabbert) (converted to Ace3 by Takika)
## Title: MyBags |cff007FFF -Ace3-|r
## Notes: Complete Replacement for Inventory and Bank Bags.
## OptionalDeps: MyBagsCache, DataStore, DataStore_Containers, DataStore_Characters
## OptionalDeps: DataStore, DataStore_Containers, DataStore_Characters
## SavedVariables: MyInventoryDB, MyBankDB, MyEquipmentDB
Embeds.xml

View File

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Ui xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.blizzard.com/wow/ui/" xsi:schemaLocation="http://www.blizzard.com/wow/ui/
..\FrameXML\UI.xsd">
<Script file="Libs\LibStub\LibStub.lua"/>
<Include file="Libs\CallbackHandler-1.0\CallbackHandler-1.0.xml"/>
<!--Ace3 Libraries-->
<Include file="Libs\AceAddon-3.0\AceAddon-3.0.xml"/>
<Include file="Libs\AceEvent-3.0\AceEvent-3.0.xml"/>
<Include file="Libs\AceDB-3.0\AceDB-3.0.xml"/>
<Include file="Libs\AceLocale-3.0\AceLocale-3.0.xml"/>
</Ui>

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Ui xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.blizzard.com/wow/ui/" xsi:schemaLocation="http://www.blizzard.com/wow/ui/FrameXML\UI.xsd">
<Include file="enUS.lua"/>
</Ui>

View File

@ -1,11 +0,0 @@
local L = LibStub("AceLocale-3.0"):NewLocale("MyBagsCache", "enUS", true, true)
if not L then
print("AceLocale not loaded")
return
end
L["ACE_TEXT_OF"] = "of";
L["CHARACTER_DELIMITOR"] = " of ";
L["SplitString must be passed a string as the first argument"] = "SplitString must be passed a string as the first argument";

View File

@ -1,452 +0,0 @@
MyBagsCache = LibStub("AceAddon-3.0"):NewAddon("MyBagsCache", "AceEvent-3.0");
local L = LibStub("AceLocale-3.0"):GetLocale("MyBagsCache")
local select, tinsert, type = select, table.insert, type
local strfind, strsub, strtrim = string.find, string.sub, strtrim
local error, unpack = error, unpack
local tonumber, pairs = tonumber, pairs
local function GetItemInfoFromLink(l)
if (not l) then
return
end
local c, t, id, il, n = select(3, strfind(l, "|cff(%x+)|H(%l+):(%-?%d+)([^|]+)|h%[(.-)%]|h|r"))
-- return n, c, id .. il, id, t
return n, c, id .. il, id
end
local function SplitString(s, p, n)
if (type(s) ~= "string") then
error(L["SplitString must be passed a string as the first argument"], 2)
end
local l, sp, ep = {}, 0
while (sp) do
sp, ep = strfind(s, p)
if (sp) then
tinsert(l, strsub(s, 1, sp - 1))
s = strsub(s, ep + 1)
else
tinsert(l, s)
break
end
if (n) then
n = n - 1
end
if (n and (n == 0)) then
tinsert(l, s)
break
end
end
return unpack(l)
end
local function SortChars(a, b, a_time, b_time, t)
local a_player, a_realm = SplitString(a, L["CHARACTER_DELIMITOR"])
local b_player, b_realm = SplitString(b, L["CHARACTER_DELIMITOR"])
if (t == "realm") then
if (a_realm == b_realm) then
return (a_player > b_player)
else
return (a_realm > b_realm)
end
elseif (t == "char") then
if (a_player == b_player) then
return (a_realm > b_realm)
else
return (a_player > b_player)
end
elseif (t == "update") then
return a_time < b_time
end
end
function MyBagsCache:OnInitialize()
self.db = LibStub("AceDB-3.0"):New("MyBagsCacheDB");
local charName = strtrim(UnitName("player"));
local realmName = strtrim(GetRealmName());
-- self.atBank = false
self.Player = charName .. L["CHARACTER_DELIMITOR"] .. realmName
if not self.db.global[self.Player] then
self.db.global[self.Player]={}
end
end
function MyBagsCache:OnEnable()
self:RegisterEvent("PLAYER_MONEY")
self:RegisterEvent("PLAYERBANKSLOTS_CHANGED")
self:RegisterEvent("PLAYERBANKBAGSLOTS_CHANGED")
self:RegisterEvent("BANKFRAME_OPENED")
self:RegisterEvent("BANKFRAME_CLOSED")
self:RegisterEvent("UNIT_INVENTORY_CHANGED")
self:RegisterEvent("BAG_UPDATE")
self:RegisterEvent("BANKFRAME_OPENED")
self:RegisterEvent("BANKFRAME_CLOSED")
self:RegisterEvent("VOID_STORAGE_CONTENTS_UPDATE")
self:RegisterEvent("VOID_TRANSFER_DONE")
-- self:RegisterEvent("INVENTORY_SEARCH_UPDATE")
self:RegisterEvent("VOID_STORAGE_OPEN")
self:RegisterEvent("VOID_STORAGE_CLOSE")
if not self.db.global[self.Player][0] then
self:SaveItems()
end
end
function MyBagsCache:VOID_STORAGE_CONTENTS_UPDATE()
-- Move item in Void OR
-- Move item from Void to Withdraw
if (CanUseVoidStorage()) then
self.atVoid = true
self:SaveItems()
self:SaveUpdateTime()
end
end
function MyBagsCache:VOID_TRANSFER_DONE()
-- Move items between bags and void
if (CanUseVoidStorage()) then
self.atVoid = true
self:SaveItems()
self:SaveUpdateTime()
end
end
--[[
function MyBagsCache:INVENTORY_SEARCH_UPDATE()
-- Search box change
end
]]
function MyBagsCache:VOID_STORAGE_OPEN()
-- Open Void
if (CanUseVoidStorage()) then
self.atVoid = true
self:SaveItems()
self:SaveUpdateTime()
end
end
function MyBagsCache:VOID_STORAGE_CLOSE()
-- Close Void
self.atVoid = false
end
function MyBagsCache:PLAYER_MONEY()
self.db.global[self.Player].cash = GetMoney();
self:SaveUpdateTime()
end
function MyBagsCache:PLAYERBANKBAGSLOTS_CHANGED()
local numSlots, full = GetNumBankSlots()
local cost = GetBankSlotCost(numSlots)
if not self.db.global[self.Player].BankSlots then
self.db.global[self.Player].BankSlots = {}
end
self.db.global[self.Player].BankSlots = {
["Number"] = numSlots,
["Cost"] = cost,
["Full"] = full
}
self:SaveUpdateTime()
end
function MyBagsCache:PLAYERBANKSLOTS_CHANGED()
local itemIndex
for itemIndex = 1, 28 do
self:SaveItemInfo(BANK_CONTAINER, itemIndex)
end
self:SaveUpdateTime()
end
function MyBagsCache:BAG_UPDATE(event, bagIndex)
if not self.atBank and bagIndex > 4 and bagIndex <= 11 then
return
end
local slots = self:SaveBagInfo(bagIndex)
local itemIndex
for itemIndex = 1, slots do
self:SaveItemInfo(bagIndex, itemIndex)
end
self:SaveUpdateTime()
end
function MyBagsCache:UNIT_INVENTORY_CHANGED(event, unit)
if (unit == "player") then
self:SaveEquipment()
self:SaveUpdateTime()
end
end
function MyBagsCache:BANKFRAME_OPENED()
self.atBank = true
self:SaveItems()
self:SaveUpdateTime()
end
function MyBagsCache:BANKFRAME_CLOSED()
self.atBank = false
end
function MyBagsCache:SaveUpdateTime()
self.db.global[self.Player].updateTime = GetTime()
end
function MyBagsCache:SaveItems()
self:SaveVoid()
self:SaveInventory()
self:SaveBank()
self:SaveEquipment()
self:PLAYER_MONEY()
end
function MyBagsCache:SaveVoid()
if not self.atVoid then return end
if not self.db.global[self.Player]["Void"] then
self.db.global[self.Player]["Void"] = {}
end
local itemIndex
local VOID_STORAGE_SIZE = 80
for itemIndex = 1, VOID_STORAGE_SIZE do
local itemID, texture = GetVoidItemInfo(itemIndex);
if (itemID) then
local myName, myLink = GetItemInfo(itemID)
local myColor = select(2, GetItemInfoFromLink(myLink))
self.db.global[self.Player]["Void"][itemIndex] = {
["Name"] = myName,
["Color"] = myColor,
["Link"] = myLink,
["Count"] = 1,
["Texture"] = texture,
}
else
self.db.global[self.Player]["Void"][itemIndex] = nil
end
end
end
function MyBagsCache:SaveInventory()
local bagIndex
for bagIndex = 0, 4 do
local slots = self:SaveBagInfo(bagIndex)
local itemIndex
for itemIndex = 1, slots do
self:SaveItemInfo(bagIndex, itemIndex)
end
end
end
function MyBagsCache:SaveBank()
if not self.atBank then return end
if not self.db.global[self.Player][BANK_CONTAINER] then
self.db.global[self.Player][BANK_CONTAINER] = {}
end
if not self.db.global[self.Player][BANK_CONTAINER][0] then
self.db.global[self.Player][BANK_CONTAINER][0] = {}
end
self.db.global[self.Player][BANK_CONTAINER][0] = {
["Count"] = 28
}
local itemIndex, bagIndex
for itemIndex = 1, 28 do
self:SaveItemInfo(BANK_CONTAINER, itemIndex)
end
for bagIndex = 5, 11 do
local slots = self:SaveBagInfo(bagIndex)
for itemIndex = 1, slots do
self:SaveItemInfo(bagIndex, itemIndex)
end
end
end
function MyBagsCache:SaveEquipment()
if not self.db.global[self.Player].equipment then
self.db.global[self.Player].equipment = {}
end
local itemIndex
for itemIndex = 0, 19 do
self:SaveEquipmentInfo(itemIndex)
end
local hasRelic = UnitHasRelicSlot("player")
self.db.global[self.Player].equipment.hasRelic = hasRelic
end
function MyBagsCache:SaveBagInfo(bagIndex)
local invID -- get Inventory ID
if bagIndex >= 1 and bagIndex <=4 then
invID = ContainerIDToInventoryID(bagIndex)
elseif bagIndex >= 5 and bagIndex <= 11 then
invID = BankButtonIDToInvSlotID(bagIndex, 1)
else
invID = nil;
end
if bagIndex == 0 then -- Set Count to 16
if not self.db.global[self.Player][bagIndex] then
self.db.global[self.Player][bagIndex]= {}
end
self.db.global[self.Player][bagIndex][0] = {
["Count"] = 16,
["Texture"] = "Interface\\Buttons\\Button-Backpack-Up"
}
return 16
end
local bagSize = GetContainerNumSlots(bagIndex)
local itemLink = GetInventoryItemLink("player", invID)
if itemLink then
local name, myColor, myLink = GetItemInfoFromLink(itemLink)
local soulbound, madeBy = nil
local texture = GetInventoryItemTexture("player", invID)
if not self.db.global[self.Player][bagIndex] then
self.db.global[self.Player][bagIndex] = {}
end
self.db.global[self.Player][bagIndex][0] = {
["Name"] = name,
["Color"] = myColor,
["Link"] = myLink,
["Count"] = bagSize,
["Texture"] = texture,
["Soulbound"] = soulbound,
["MadeBy"] = madeBy
}
end
if bagSize > 0 then
return bagSize
else
self.db.global[self.Player][bagIndex] = nil
return 0
end
end
function MyBagsCache:SaveEquipmentInfo(itemIndex)
local itemLink = GetInventoryItemLink("player", itemIndex)
if itemLink or itemIndex == 0 then
-- local myColor, myLink, myName, soulbound, madeBy = nil
local texture = GetInventoryItemTexture("player", itemIndex)
local count = GetInventoryItemCount("player", itemIndex)
local myName, myColor, myLink = GetItemInfoFromLink(itemLink)
if not self.db.global[self.Player].equipment[itemIndex] then
self.db.global[self.Player].equipment[itemIndex] = {}
end
self.db.global[self.Player].equipment[itemIndex] = {
["Name"] = myName,
["Color"] = myColor,
["Link"] = myLink,
["Count"] = count,
["Texture"] = texture,
["Soulbound"] = nil,
["MadeBy"] = nil,
}
else
self.db.global[self.Player].equipment[itemIndex] = nil
end
end
function MyBagsCache:SaveItemInfo(bagIndex, itemIndex)
local itemLink = GetContainerItemLink(bagIndex, itemIndex)
if itemLink then
local myName, myColor, myLink = GetItemInfoFromLink(itemLink)
local texture, itemCount = GetContainerItemInfo(bagIndex, itemIndex)
self.db.global[self.Player][bagIndex][itemIndex] = {
["Name"] = myName,
["Color"] = myColor,
["Link"] = myLink,
["Count"] = itemCount,
["Texture"] = texture,
["Soulbound"] = nil,
["MadeBy"] = nil,
}
else
self.db.global[self.Player][bagIndex][itemIndex] = nil
end
end
function MyBagsCache:GetInfo(bagIndex, slotIndex, charID)
slotIndex = tonumber(slotIndex or 0)
if not self.db.global[charID] or not self.db.global[charID][bagIndex] or not self.db.global[charID][bagIndex][slotIndex] then
return nil, 0, nil, nil, nil
else
local data = self.db.global[charID][bagIndex][slotIndex]
return data.Texture, data.Count, data.Link, data.Color, data.Name
end
end
function MyBagsCache:GetRelic(charID)
if not self.db.global[charID] or not self.db.global[charID].equipment or not self.db.global[charID].equipment.hasRelic then
return nil
else
return self.db.global[charID].equipment.hasRelic
end
end
function MyBagsCache:GetCash(charID)
if not self.db.global[charID] or not self.db.global[charID].cash then
return nil
else
return self.db.global[charID].cash
end
end
function MyBagsCache:GetCharList(realm)
local result = {}
local cache = self.db.global
local index, value
for index, value in pairs(cache) do
if index ~= "profiles" then
local charName, realmID = SplitString(index, L["CHARACTER_DELIMITOR"])
if (not realm or realmID == realm) then
result[index] = {
name = charName,
realm = realmID,
}
end
end
end
return result
end
function MyBagsCache:GetSortedCharList(sorttype, realm)
local result = {}
local idx = 0
local cache = self.db.global
local index, value
for index, value in pairs(cache) do
if index ~= "profiles" then
local realmID = select(2, SplitString(index, L["CHARACTER_DELIMITOR"]))
if (not realm or realmID == realm) then
idx = idx + 1
result[idx] = index
end
end
end
local swapped
local x_time, y_time
local q, w, i
repeat
swapped = 0
for i = 1, idx-1 do
q = result[i]
w = result[i+1]
if (not self.db.global[q].updateTime) then
x_time = 0
else
x_time = self.db.global[q].updateTime
end
if (not self.db.global[w].updateTime) then
y_time = 0
else
y_time = self.db.global[w].updateTime
end
if SortChars(q, w, x_time, y_time, sorttype) then
result[i] = w
result[i+1] = q
swapped = 1
end
end
until swapped == 0
return result
end

View File

@ -1,16 +0,0 @@
## Interface: 50400
## Author: Takika
## Title: MyBagsCache3 |cff007FFF -Ace3-|r
## Notes: Item database for Equipment, Inventory and Bank Bags.
## OptionalDeps: Ace3
## SavedVariables: MyBagsCacheDB
## LoadOnDemand: 0
# Libraries
Embeds.xml
#Locales
Locals\Locals.xml
MyBagsCache.xml
MyBagsCache.lua

View File

@ -1,12 +0,0 @@
<Ui xmlns="http://www.blizzard.com/wow/ui/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.blizzard.com/wow/ui/FrameXML/UI.xsd">
<GameTooltip name="MyBagsCacheHiddenTooltip" inherits="GameTooltipTemplate" parent="UIParent" hidden="true">
<Scripts>
<OnLoad>
self:SetOwner(UIParent, "ANCHOR_NONE");
</OnLoad>
</Scripts>
</GameTooltip>
</Ui>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,53 +1,53 @@
<Ui xmlns="http://www.blizzard.com/wow/ui/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.blizzard.com/wow/ui/FrameXML/UI.xsd">
<Script file="MyEquipment.lua" />
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.blizzard.com/wow/ui/FrameXML/UI.xsd">
<Script file="MyEquipment.lua" />
<!-- Templates -->
<!-- Templates -->
<Button name="MyEquipmentItemButtonTemplate" inherits="ItemButtonTemplate" virtual="true">
<Frames>
<Cooldown name="$parentCooldown" inherits="CooldownFrameTemplate"/>
</Frames>
<Frames>
<Cooldown name="$parentCooldown" inherits="CooldownFrameTemplate"/>
</Frames>
<Scripts>
<OnLoad>
MyEquipment:MyEquipmentItemSlotButton_OnLoad(self)
</OnLoad>
<OnClick>
if ( not IsModifierKeyDown() ) then
mybags = self:GetParent():GetParent().self
mybags:MyEquipmentItemSlotButton_OnClick(self, button)
end
</OnClick>
<PostClick>
if ( IsModifierKeyDown() ) then
mybags = self:GetParent():GetParent().self
mybags:MyEquipmentItemSlotButton_OnModifiedClick(self, button)
end
</PostClick>
<OnDragStart>
mybags = self:GetParent():GetParent().self
mybags:MyEquipmentItemSlotButton_OnClick(self, "LeftButton", 1)
</OnDragStart>
<OnReceiveDrag>
mybags = self:GetParent():GetParent().self
mybags:MyEquipmentItemSlotButton_OnClick(self, "LeftButton", 1)
</OnReceiveDrag>
<OnEnter>
mybags = self:GetParent():GetParent().self
mybags:MyEquipmentItemSlotButton_OnEnter(self)
</OnEnter>
<OnLeave>
GameTooltip:Hide()
</OnLeave>
<OnUpdate>
mybags = self:GetParent():GetParent().self
mybags:MyEquipmentItemSlotButton_OnUpdate(self, elapsed);
</OnUpdate>
<OnEvent>
mybags = self:GetParent():GetParent().self
mybags:MyEquipmentItemSlotButton_OnEvent(self, event)
</OnEvent>
</Scripts>
<OnLoad>
MyEquipment:MyEquipmentItemSlotButton_OnLoad(self)
</OnLoad>
<OnClick>
if (not IsModifierKeyDown()) then
mybags = self:GetParent():GetParent().self
mybags:MyEquipmentItemSlotButton_OnClick(self, button)
end
</OnClick>
<PostClick>
if (IsModifierKeyDown()) then
mybags = self:GetParent():GetParent().self
mybags:MyEquipmentItemSlotButton_OnModifiedClick(self, button)
end
</PostClick>
<OnDragStart>
mybags = self:GetParent():GetParent().self
mybags:MyEquipmentItemSlotButton_OnClick(self, "LeftButton", 1)
</OnDragStart>
<OnReceiveDrag>
mybags = self:GetParent():GetParent().self
mybags:MyEquipmentItemSlotButton_OnClick(self, "LeftButton", 1)
</OnReceiveDrag>
<OnEnter>
mybags = self:GetParent():GetParent().self
mybags:MyEquipmentItemSlotButton_OnEnter(self)
</OnEnter>
<OnLeave>
GameTooltip:Hide()
</OnLeave>
<OnUpdate>
mybags = self:GetParent():GetParent().self
mybags:MyEquipmentItemSlotButton_OnUpdate(self, elapsed);
</OnUpdate>
<OnEvent>
mybags = self:GetParent():GetParent().self
mybags:MyEquipmentItemSlotButton_OnEvent(self, event)
</OnEvent>
</Scripts>
</Button>
<Frame name="MyEquipmentTemplate" virtual="true">
@ -76,161 +76,161 @@
<Button name="$parentItem18" inherits="MyEquipmentItemButtonTemplate" id="18"/>
<Button name="$parentItem19" inherits="MyEquipmentItemButtonTemplate" id="19"/>
</Frames>
</Frame>
</Frame>
<Frame name="MyEquipmentFrameTemplate" virtual="true" movable="true" enableMouse="true" toplevel="true" hidden="true">
<Backdrop bgFile="Interface\ChatFrame\ChatFrameBackground" edgeFile="Interface\Tooltips\UI-Tooltip-Border" tile="true">
<BackgroundInsets><AbsInset left="5" right="5" top="5" bottom="5"/></BackgroundInsets>
<TileSize><AbsValue val="16"/></TileSize>
<EdgeSize><AbsValue val="16"/></EdgeSize>
</Backdrop>
<Layers>
<!-- -LITE{{{ -->
<Layer level="BACKGROUND">
<Texture name="$parentPortrait" hidden="false" file="Interface\AddOns\MyBags\Skin\Backpack" > <!-- -->
<Size><AbsDimension x="58" y="58"/></Size>
<Anchors>
<Anchor point="TOPLEFT">
<Offset><AbsDimension x="-5" y="1"/></Offset>
</Anchor>
</Anchors>
</Texture>
<Texture name="$parentTextureTopLeft" file="Interface\AddOns\MyBags\Skin\TopLeft" hidden="false">
<Size><AbsDimension x="128" y="128"/></Size>
<Anchors>
<Anchor point="TOPLEFT">
<Offset><AbsDimension x="-65" y="58"/></Offset>
</Anchor>
</Anchors>
</Texture>
<Texture name="$parentTextureTopRight" file="Interface\AddOns\MyBags\Skin\TopRight" hidden="false">
<Size><AbsDimension x="64" y="128"/></Size>
<Anchors>
<Anchor point="TOPRIGHT">
<Offset><AbsDimension x="36" y="58"/></Offset>
</Anchor>
</Anchors>
</Texture>
<Texture name="$parentTextureTopCenter" file="Interface\AddOns\MyBags\Skin\TopCenter" hidden="false">
<Size><AbsDimension x="128" y="128"/></Size>
<Anchors>
<Anchor point="BOTTOMLEFT" relativeTo="$parentTextureTopLeft" relativePoint="BOTTOMRIGHT"/>
<Anchor point="BOTTOMRIGHT" relativeTo="$parentTextureTopRight" relativePoint="BOTTOMLEFT"/>
</Anchors>
</Texture>
<Texture name="$parentTextureBottomLeft" file="Interface\AddOns\MyBags\Skin\BottomLeft" hidden="false">
<Size><AbsDimension x="128" y="128"/></Size>
<Anchors>
<Anchor point="BOTTOMLEFT">
<Offset><AbsDimension x="-65" y="-60"/></Offset>
</Anchor>
</Anchors>
</Texture>
<Texture name="$parentTextureBottomRight" file="Interface\AddOns\MyBags\Skin\BottomRight" hidden="false">
<Size><AbsDimension x="64" y="128"/></Size>
<Anchors>
<Anchor point="BOTTOMRIGHT">
<Offset><AbsDimension x="36" y="-60"/></Offset>
</Anchor>
</Anchors>
</Texture>
<Texture name="$parentTextureBottomCenter" file="Interface\AddOns\MyBags\Skin\BottomCenter" hidden="false">
<Size><AbsDimension x="128" y="128"/></Size>
<Anchors>
<Anchor point="TOPLEFT" relativeTo="$parentTextureBottomLeft" relativePoint="TOPRIGHT"/>
<Anchor point="TOPRIGHT" relativeTo="$parentTextureBottomRight" relativePoint="TOPLEFT"/>
</Anchors>
</Texture>
<Texture name="$parentTextureLeft" file="Interface\AddOns\MyBags\Skin\Left" hidden="false">
<Size><AbsDimension x="64" y="128"/></Size>
<Anchors>
<Anchor point="TOPRIGHT" relativeTo="$parentTextureTopLeft" relativePoint="BOTTOMRIGHT"/>
<Anchor point="BOTTOMRIGHT" relativeTo="$parentTextureBottomLeft" relativePoint="TOPRIGHT"/>
</Anchors>
</Texture>
<Texture name="$parentTextureRight" file="Interface\AddOns\MyBags\Skin\Right" hidden="false">
<Size><AbsDimension x="64" y="128"/></Size>
<Anchors>
<Anchor point="TOPLEFT" relativeTo="$parentTextureTopRight" relativePoint="BOTTOMLEFT"/>
<Anchor point="BOTTOMLEFT" relativeTo="$parentTextureBottomRight" relativePoint="TOPLEFT"/>
</Anchors>
</Texture>
<Texture name="$parentTextureCenter" file="Interface\AddOns\MyBags\Skin\Center" hidden="false">
<Size><AbsDimension x="128" y="128"/></Size>
<Anchors>
<Anchor point="TOPLEFT" relativeTo="$parentTextureTopCenter" relativePoint="BOTTOMLEFT"/>
<Anchor point="TOPRIGHT" relativeTo="$parentTextureTopCenter" relativePoint="BOTTOMRIGHT"/>
<Anchor point="BOTTOMLEFT" relativeTo="$parentTextureBottomCenter" relativePoint="TOPLEFT"/>
<Anchor point="BOTTOMRIGHT" relativeTo="$parentTextureBottomCenter" relativePoint="TOPRIGHT"/>
</Anchors>
</Texture>
</Layer>
<!-- }}}-LITE -->
<Layer level="ARTWORK">
<FontString name="$parentName" inherits="GameFontNormal" justifyH="LEFT">
<Color r="1.0" g="1.0" b="1.0" />
<Anchors>
<Anchor point="TOPLEFT">
<Offset><AbsDimension x="7" y="-10"/></Offset>
</Anchor>
</Anchors>
</FontString>
<FontString name="$parentSlots" inherits="GameFontNormal" justifyH="LEFT">
<Color r="1.0" g="1.0" b="1.0" />
<Anchors>
<Anchor point="BOTTOMLEFT">
<Offset><AbsDimension x="7" y="10"/></Offset>
</Anchor>
</Anchors>
</FontString>
</Layer>
</Layers>
<Frames>
<Frame name="MyEquipmentSlots" inherits="MyEquipmentTemplate"/>
<Frame name="$parentButtons" inherits="MyBagsButtonBarTemplate"/>
<Frame name="$parentCharSelect" inherits="MyBagsCharSelectTemplate"/>
<Frame name="$parentMoneyFrame" inherits="SmallMoneyFrameTemplate" hidden="false">
<Anchors>
<Anchor point="BOTTOMRIGHT" relativeTo="$parent" relativePoint="BOTTOMRIGHT">
<Offset><AbsDimension x="0" y="8"/></Offset>
</Anchor>
</Anchors>
</Frame>
</Frames>
<Scripts>
<OnShow>
PlaySound("igBackPackOpen")
</OnShow>
<OnHide>
PlaySound("igBackPackClose")
</OnHide>
<OnMouseDown>
mybags = self.self
if not mybags.GetOpt("Lock") then
self:GetParent():StartMoving()
end
</OnMouseDown>
<OnMouseUp>
self:GetParent():StopMovingOrSizing()
</OnMouseUp>
</Scripts>
</Frame>
<Frame name="MyEquipmentFrameTemplate" virtual="true" movable="true" enableMouse="true" toplevel="true" hidden="true">
<Backdrop bgFile="Interface\ChatFrame\ChatFrameBackground" edgeFile="Interface\Tooltips\UI-Tooltip-Border" tile="true">
<BackgroundInsets><AbsInset left="5" right="5" top="5" bottom="5"/></BackgroundInsets>
<TileSize><AbsValue val="16"/></TileSize>
<EdgeSize><AbsValue val="16"/></EdgeSize>
</Backdrop>
<Layers>
<!-- -LITE{{{ -->
<Layer level="BACKGROUND">
<Texture name="$parentPortrait" hidden="false" file="Interface\AddOns\MyBags\Skin\Backpack" > <!-- -->
<Size><AbsDimension x="58" y="58"/></Size>
<Anchors>
<Anchor point="TOPLEFT">
<Offset><AbsDimension x="-5" y="1"/></Offset>
</Anchor>
</Anchors>
</Texture>
<Texture name="$parentTextureTopLeft" file="Interface\AddOns\MyBags\Skin\TopLeft" hidden="false">
<Size><AbsDimension x="128" y="128"/></Size>
<Anchors>
<Anchor point="TOPLEFT">
<Offset><AbsDimension x="-65" y="58"/></Offset>
</Anchor>
</Anchors>
</Texture>
<Texture name="$parentTextureTopRight" file="Interface\AddOns\MyBags\Skin\TopRight" hidden="false">
<Size><AbsDimension x="64" y="128"/></Size>
<Anchors>
<Anchor point="TOPRIGHT">
<Offset><AbsDimension x="36" y="58"/></Offset>
</Anchor>
</Anchors>
</Texture>
<Texture name="$parentTextureTopCenter" file="Interface\AddOns\MyBags\Skin\TopCenter" hidden="false">
<Size><AbsDimension x="128" y="128"/></Size>
<Anchors>
<Anchor point="BOTTOMLEFT" relativeTo="$parentTextureTopLeft" relativePoint="BOTTOMRIGHT"/>
<Anchor point="BOTTOMRIGHT" relativeTo="$parentTextureTopRight" relativePoint="BOTTOMLEFT"/>
</Anchors>
</Texture>
<Texture name="$parentTextureBottomLeft" file="Interface\AddOns\MyBags\Skin\BottomLeft" hidden="false">
<Size><AbsDimension x="128" y="128"/></Size>
<Anchors>
<Anchor point="BOTTOMLEFT">
<Offset><AbsDimension x="-65" y="-60"/></Offset>
</Anchor>
</Anchors>
</Texture>
<Texture name="$parentTextureBottomRight" file="Interface\AddOns\MyBags\Skin\BottomRight" hidden="false">
<Size><AbsDimension x="64" y="128"/></Size>
<Anchors>
<Anchor point="BOTTOMRIGHT">
<Offset><AbsDimension x="36" y="-60"/></Offset>
</Anchor>
</Anchors>
</Texture>
<Texture name="$parentTextureBottomCenter" file="Interface\AddOns\MyBags\Skin\BottomCenter" hidden="false">
<Size><AbsDimension x="128" y="128"/></Size>
<Anchors>
<Anchor point="TOPLEFT" relativeTo="$parentTextureBottomLeft" relativePoint="TOPRIGHT"/>
<Anchor point="TOPRIGHT" relativeTo="$parentTextureBottomRight" relativePoint="TOPLEFT"/>
</Anchors>
</Texture>
<Texture name="$parentTextureLeft" file="Interface\AddOns\MyBags\Skin\Left" hidden="false">
<Size><AbsDimension x="64" y="128"/></Size>
<Anchors>
<Anchor point="TOPRIGHT" relativeTo="$parentTextureTopLeft" relativePoint="BOTTOMRIGHT"/>
<Anchor point="BOTTOMRIGHT" relativeTo="$parentTextureBottomLeft" relativePoint="TOPRIGHT"/>
</Anchors>
</Texture>
<Texture name="$parentTextureRight" file="Interface\AddOns\MyBags\Skin\Right" hidden="false">
<Size><AbsDimension x="64" y="128"/></Size>
<Anchors>
<Anchor point="TOPLEFT" relativeTo="$parentTextureTopRight" relativePoint="BOTTOMLEFT"/>
<Anchor point="BOTTOMLEFT" relativeTo="$parentTextureBottomRight" relativePoint="TOPLEFT"/>
</Anchors>
</Texture>
<Texture name="$parentTextureCenter" file="Interface\AddOns\MyBags\Skin\Center" hidden="false">
<Size><AbsDimension x="128" y="128"/></Size>
<Anchors>
<Anchor point="TOPLEFT" relativeTo="$parentTextureTopCenter" relativePoint="BOTTOMLEFT"/>
<Anchor point="TOPRIGHT" relativeTo="$parentTextureTopCenter" relativePoint="BOTTOMRIGHT"/>
<Anchor point="BOTTOMLEFT" relativeTo="$parentTextureBottomCenter" relativePoint="TOPLEFT"/>
<Anchor point="BOTTOMRIGHT" relativeTo="$parentTextureBottomCenter" relativePoint="TOPRIGHT"/>
</Anchors>
</Texture>
</Layer>
<!-- }}}-LITE -->
<Layer level="ARTWORK">
<FontString name="$parentName" inherits="GameFontNormal" justifyH="LEFT">
<Color r="1.0" g="1.0" b="1.0" />
<Anchors>
<Anchor point="TOPLEFT">
<Offset><AbsDimension x="7" y="-10"/></Offset>
</Anchor>
</Anchors>
</FontString>
<FontString name="$parentSlots" inherits="GameFontNormal" justifyH="LEFT">
<Color r="1.0" g="1.0" b="1.0" />
<Anchors>
<Anchor point="BOTTOMLEFT">
<Offset><AbsDimension x="7" y="10"/></Offset>
</Anchor>
</Anchors>
</FontString>
</Layer>
</Layers>
<Frames>
<Frame name="MyEquipmentSlots" inherits="MyEquipmentTemplate"/>
<Frame name="$parentButtons" inherits="MyBagsButtonBarTemplate"/>
<Frame name="$parentCharSelect" inherits="MyBagsCharSelectTemplate"/>
<Frame name="$parentMoneyFrame" inherits="SmallMoneyFrameTemplate" hidden="false">
<Anchors>
<Anchor point="BOTTOMRIGHT" relativeTo="$parent" relativePoint="BOTTOMRIGHT">
<Offset><AbsDimension x="0" y="8"/></Offset>
</Anchor>
</Anchors>
</Frame>
</Frames>
<Scripts>
<OnShow>
PlaySound("igBackPackOpen")
</OnShow>
<OnHide>
PlaySound("igBackPackClose")
</OnHide>
<OnMouseDown>
mybags = self.self
if not mybags.GetOpt("Lock") then
self:GetParent():StartMoving()
end
</OnMouseDown>
<OnMouseUp>
self:GetParent():StopMovingOrSizing()
</OnMouseUp>
</Scripts>
</Frame>
<!-- Frame -->
<Frame name="MyEquipmentAnchorFrame" hidden="false" movable="true" parent="UIParent">
<Size><AbsDimension x="10" y="10"/></Size>
<Anchors>
<Anchor point="BOTTOMRIGHT" >
<Offset><AbsDimension x="-5" y="100"/></Offset>
</Anchor>
</Anchors>
<Frames>
<Frame name="MyEquipmentFrame" inherits="MyEquipmentFrameTemplate">
<Size>
<AbsDimension x="500" y="500"/>
</Size>
<Anchors><Anchor point="BOTTOMRIGHT"/></Anchors>
</Frame>
</Frames>
</Frame>
<!-- Frame -->
<Frame name="MyEquipmentAnchorFrame" hidden="false" movable="true" parent="UIParent">
<Size><AbsDimension x="10" y="10"/></Size>
<Anchors>
<Anchor point="BOTTOMRIGHT" >
<Offset><AbsDimension x="-5" y="100"/></Offset>
</Anchor>
</Anchors>
<Frames>
<Frame name="MyEquipmentFrame" inherits="MyEquipmentFrameTemplate">
<Size>
<AbsDimension x="500" y="500"/>
</Size>
<Anchors><Anchor point="BOTTOMRIGHT"/></Anchors>
</Frame>
</Frames>
</Frame>
</Ui>

File diff suppressed because it is too large Load Diff