Compare commits
55 Commits
v50400-1.7
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 587a7e0d56 | |||
| 0cb3708671 | |||
| 35023a61c1 | |||
| a4f08a0b44 | |||
| 771bfaf5eb | |||
| 48eba18c2b | |||
| 089d270ade | |||
| 83abacd2f9 | |||
| 895f0ccd4c | |||
| 4d657ecee1 | |||
| 6352b997d1 | |||
| 23ff6cf7f3 | |||
| 17486c3251 | |||
| f6706c380b | |||
| f4ac2a0139 | |||
| b49f508c47 | |||
| 3a62dd9b99 | |||
| 6e353d9ebd | |||
| 733b7cc325 | |||
| f42d4c2a34 | |||
| 7c694ba727 | |||
| 77c25484f1 | |||
| f75aa0bd11 | |||
| 284bf213dd | |||
| 252e10de9a | |||
| 800a9b450b | |||
| e086ca746b | |||
| e140c68663 | |||
| 1f35539578 | |||
| 5e6b8eebf8 | |||
| 570abca36f | |||
| 7e13a47e52 | |||
| 152d61d84f | |||
| d21ff3c73a | |||
| 59d3e610c3 | |||
| b5dc2961b0 | |||
| 238145bef1 | |||
| 6e5fa165f2 | |||
| c0db29ffe8 | |||
| 5fc53d2191 | |||
| b03e7b4df2 | |||
| 31f513db74 | |||
| 25765b5f3c | |||
| 3e06a3a7ad | |||
| 1dffea8341 | |||
| 237217ede4 | |||
| 9c84784542 | |||
| 5775870bcd | |||
| 00683de69b | |||
| 2b8a6af9e2 | |||
| 232f424a6f | |||
| 8ccff635a0 | |||
| 2298e37175 | |||
| 191ee4dd73 | |||
| 0ab9c6cff0 |
21
.pkgmeta
21
.pkgmeta
@ -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
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
<Bindings>
|
||||
<Binding name="MYINVENTORY" header="MYBAGSHEADER">
|
||||
<Binding name="MYINVENTORY" header="MYBAGSHEADER" category="ADDONS">
|
||||
if MyInventory then MyInventory:Toggle() end
|
||||
</Binding>
|
||||
<Binding name="MYBANK">
|
||||
<Binding name="MYBANK" header="MYBAGSHEADER" category="ADDONS">
|
||||
if MyBank then MyBank:Toggle() end
|
||||
</Binding>
|
||||
<Binding name="MYEQUIPMENT">
|
||||
<Binding name="MYEQUIPMENT" header="MYBAGSHEADER" category="ADDONS">
|
||||
if MyEquipment then MyEquipment:Toggle() end
|
||||
</Binding>
|
||||
</Bindings>
|
||||
|
||||
@ -1,18 +1,21 @@
|
||||
local L = LibStub("AceLocale-3.0"):NewLocale("MyBags", "enUS", true)
|
||||
|
||||
if not L then return end
|
||||
if not L then
|
||||
return
|
||||
end
|
||||
|
||||
-- Global locales
|
||||
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";
|
||||
|
||||
--KEYBINDINGS
|
||||
-- KEYBINDINGS
|
||||
L["BINDING_HEADER_MYBAGSHEADER"] = "My Bags"
|
||||
L["BINDING_NAME_MYINVENTORY"] = "Toggle MyInventory"
|
||||
L["BINDING_NAME_MYBANK"] = "Toggle MyBank"
|
||||
L["BINDING_NAME_MYEQUIPMENT"] = "Toggle MyEquipment"
|
||||
|
||||
-- Bag types
|
||||
L["ACEG_TEXT_AMMO"] = "Ammo";
|
||||
L["ACEG_TEXT_QUIVER"] = "Quiver";
|
||||
L["ACEG_TEXT_SOUL"] = "Soul Bag";
|
||||
@ -21,6 +24,7 @@ L["ACEG_TEXT_ENGINEER"] = "Engineering Bag";
|
||||
L["ACEG_TEXT_GEM"] = "Gem Bag";
|
||||
L["ACEG_TEXT_HERB"] = "Herb Bag";
|
||||
L["ACEG_TEXT_MINING"] = "Mining Bag";
|
||||
|
||||
L["ACEG_TEXT_NOW_SET_TO"] = "is now set to";
|
||||
L["ACEG_TEXT_DEFAULT"] = "default";
|
||||
L["ACEG_DISPLAY_OPTION"] = "[|cfff5f530%s|r]";
|
||||
@ -32,6 +36,12 @@ L["MYBAGS_TITLE0"] = ""
|
||||
L["MYBAGS_TITLE1"] = "%s's "
|
||||
L["MYBAGS_TITLE2"] = "%s of %s's "
|
||||
|
||||
-- MYBANK_NAME = "MyBank"
|
||||
-- MYBANK_DESCRIPTION = "All in one bank mod"
|
||||
L["MYBANKFRAME_TITLE"] = "Bank"
|
||||
L["MYINVENTORYFRAME_TITLE"] = "Inventory"
|
||||
L["MYEQUIPMENTFRAME_TITLE"] = "Equipment"
|
||||
|
||||
L["MYBAGS_SLOTS_FREE"] = "%d/%d Slots Free";
|
||||
L["MYBAGS_SLOTS_USED"] = "%d/%d Slots Used";
|
||||
|
||||
|
||||
@ -1,9 +1,8 @@
|
||||
## Interface: 50400
|
||||
## Interface: 70000
|
||||
## Author: Ramble (modified by Isharra) (updated by thegabbert) (converted to Ace3 by Takika)
|
||||
## Version: 51
|
||||
## Title: MyBags |cff007FFF -Ace3-|r
|
||||
## Notes: Complete Replacement for Inventory and Bank Bags.
|
||||
## OptionalDeps: MyBagsCache, DataStore_Containers
|
||||
## OptionalDeps: DataStore, DataStore_Containers, DataStore_Characters
|
||||
## SavedVariables: MyInventoryDB, MyBankDB, MyEquipmentDB
|
||||
|
||||
Embeds.xml
|
||||
@ -14,4 +13,3 @@ MyBagsCore\MyBags.xml
|
||||
MyInventory\MyInventory.xml
|
||||
MyBank\MyBank.xml
|
||||
MyEquipment\MyEquipment.xml
|
||||
|
||||
|
||||
@ -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>
|
||||
@ -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>
|
||||
@ -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";
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
@ -1,36 +0,0 @@
|
||||
local L = LibStub("AceLocale-3.0"):NewLocale("MyBagsCore", "enUS", true)
|
||||
|
||||
if not L then
|
||||
return
|
||||
end
|
||||
|
||||
L["ACE_TEXT_OF"] = "of";
|
||||
L["CHARACTER_DELIMITOR"] = " of ";
|
||||
L["ACEG_TEXT_AMMO"] = "Ammo";
|
||||
L["ACEG_TEXT_QUIVER"] = "Quiver";
|
||||
L["ACEG_TEXT_SOUL"] = "Soul Bag";
|
||||
L["ACEG_TEXT_ENCHANT"] = "Enchanting Bag";
|
||||
L["ACEG_TEXT_ENGINEER"] = "Engineering Bag";
|
||||
L["ACEG_TEXT_GEM"] = "Gem Bag";
|
||||
L["ACEG_TEXT_HERB"] = "Herb Bag";
|
||||
L["ACEG_TEXT_MINING"] = "Mining Bag";
|
||||
L["ACEG_TEXT_NOW_SET_TO"] = "is now set to";
|
||||
L["ACEG_TEXT_DEFAULT"] = "default";
|
||||
L["ACEG_DISPLAY_OPTION"] = "[|cfff5f530%s|r]";
|
||||
L["ACE_CMD_REPORT_NO_VAL"] = "|cffc7c7c7no value|r"
|
||||
L["ACE_CMD_RESULT"] = "|cffffff78%s:|r %s"
|
||||
|
||||
--MyInventory Title
|
||||
L["MYBAGS_TITLE0"] = ""
|
||||
L["MYBAGS_TITLE1"] = "%s's "
|
||||
L["MYBAGS_TITLE2"] = "%s of %s's "
|
||||
|
||||
L["MYBAGS_SLOTS_FREE"] = "%d/%d Slots Free";
|
||||
L["MYBAGS_SLOTS_USED"] = "%d/%d Slots Used";
|
||||
-- SLASHCOMMANDS
|
||||
|
||||
--KEYBINDINGS
|
||||
L["BINDING_HEADER_MYBAGSHEADER"] = "My Bags"
|
||||
L["BINDING_NAME_MYINVENTORY"] = "My Inventory Toggle"
|
||||
L["BINDING_NAME_MYBANK"] = "My Bank Toggle"
|
||||
L["BINDING_NAME_MYEQUIPMENT"] = "My Equipment Toggle"
|
||||
File diff suppressed because it is too large
Load Diff
@ -2,7 +2,7 @@
|
||||
xsi:schemaLocation="http://www.blizzard.com/wow/ui/FrameXML/UI.xsd">
|
||||
<Script file="MyBags.lua"/>
|
||||
<!-- Templates -->
|
||||
<Button name="MyBagsItemButtonTemplate" inherits="ContainerFrameItemButtonTemplate" virtual="true">
|
||||
<Button name="MyBagsItemButtonTemplate" inherits="ContainerFrameItemButtonTemplate" virtual="true" hidden="true">
|
||||
<Frames>
|
||||
<Cooldown name="$parentCooldown" inherits="CooldownFrameTemplate"/>
|
||||
</Frames>
|
||||
@ -366,6 +366,22 @@
|
||||
<Frame name="$parentBag4" inherits="MyBagsContainerTemplate" id="4"/>
|
||||
<Frame name="$parentButtons" inherits="MyBagsButtonBarTemplate"/>
|
||||
<Frame name="$parentCharSelect" inherits="MyBagsCharSelectTemplate"/>
|
||||
<Button name="$parentSortButton">
|
||||
<Size x="28" y="26"/>
|
||||
<NormalTexture atlas="bags-button-autosort-up"/>
|
||||
<PushedTexture atlas="bags-button-autosort-down"/>
|
||||
<HighlightTexture file="Interface\Buttons\ButtonHilight-Square" alphaMode="ADD">
|
||||
<Size x="24" y="23"/>
|
||||
<Anchors>
|
||||
<Anchor point="CENTER" x="0" y="0"/>
|
||||
</Anchors>
|
||||
</HighlightTexture>
|
||||
<Scripts>
|
||||
<OnEnter/>
|
||||
<OnLeave/>
|
||||
<OnClick/>
|
||||
</Scripts>
|
||||
</Button>
|
||||
<Frame name="$parentTokenFrame">
|
||||
<Size>
|
||||
<AbsDimension x="183" y="32"/>
|
||||
|
||||
@ -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>
|
||||
@ -1,34 +0,0 @@
|
||||
-- Version : English - Ramble
|
||||
|
||||
MYBANK_NAME = "MyBank"
|
||||
MYBANK_DESCRIPTION = "All in one bank mod"
|
||||
|
||||
MYBANKFRAME_TITLE = "Bank"
|
||||
|
||||
-- SLASHCOMMANDS
|
||||
-- MYBANK_COMMANDS = {"/mybank", "/mb"}
|
||||
--[[ MYBANK_CMD_OPTIONS = {
|
||||
MYBAGS_CMD_OPT_REPLACE, -- done
|
||||
MYBAGS_CMD_OPT_FREEZE, -- done
|
||||
MYBAGS_CMD_OPT_LOCK, -- done
|
||||
MYBAGS_CMD_OPT_COLUMNS, -- done
|
||||
MYBAGS_CMD_OPT_BAG, -- done
|
||||
MYBAGS_CMD_OPT_HIGHLIGHT, -- done
|
||||
MYBAGS_CMD_OPT_NOESC, -- done
|
||||
MYBAGS_CMD_OPT_TITLE, -- done
|
||||
MYBAGS_CMD_OPT_CASH, -- done
|
||||
MYBAGS_CMD_OPT_BUTTONS, -- done
|
||||
MYBAGS_CMD_OPT_AIOI, -- done
|
||||
MYBAGS_CMD_OPT_REVERSE, -- done
|
||||
MYBAGS_CMD_OPT_BORDER, -- done
|
||||
MYBAGS_CMD_OPT_PLAYERSEL, -- done
|
||||
MYBAGS_CMD_OPT_COUNT, -- done
|
||||
MYBAGS_CMD_OPT_SCALE, -- done
|
||||
MYBAGS_CMD_OPT_STRATA, -- done
|
||||
MYBAGS_CMD_OPT_ANCHOR, -- done
|
||||
MYBAGS_CMD_OPT_TOGGLE, -- done
|
||||
MYBAGS_CMD_RESET, -- done
|
||||
MYBAGS_CMD_OPT_GRAPHICS, -- skip
|
||||
MYBAGS_CMD_OPT_SLOTCOLOR, -- skip
|
||||
}
|
||||
]]
|
||||
1307
MyBank/MyBank.lua
1307
MyBank/MyBank.lua
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,6 @@
|
||||
<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">
|
||||
<Include file="Locals\Locals.xml"/>
|
||||
<Script file="MyBank.lua"/>
|
||||
<Frame name="MyBagsBankContainerTemplate" inherits="MyBagsContainerTemplate" ID="BANK_CONTAINER" virtual="true">
|
||||
</Frame>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,54 +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="locals.lua" />
|
||||
<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">
|
||||
@ -77,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>
|
||||
|
||||
@ -1,29 +0,0 @@
|
||||
-- Version : English - Isharra
|
||||
|
||||
MYEQUIPMENT_NAME = "MyEquipment"
|
||||
MYEQUIPMENT_DESCRIPTION = "Equipped items display"
|
||||
|
||||
MYEQUIPMENTFRAME_TITLE = "Equipment"
|
||||
|
||||
-- SLASHCOMMANDS
|
||||
-- /me already taken by emote commands
|
||||
-- MYEQUIPMENT_COMMANDS = {"/myequipment", "/myequip", "/mq"}
|
||||
--[[ MYEQUIPMENT_CMD_OPTIONS = {
|
||||
MYBAGS_CMD_OPT_LOCK, -- done
|
||||
MYBAGS_CMD_OPT_COLUMNS, -- done
|
||||
MYBAGS_CMD_OPT_NOESC, -- done
|
||||
MYBAGS_CMD_OPT_TITLE, -- done
|
||||
MYBAGS_CMD_OPT_CASH, -- done
|
||||
MYBAGS_CMD_OPT_BUTTONS, -- done
|
||||
MYBAGS_CMD_OPT_AIOI, -- done
|
||||
MYBAGS_CMD_OPT_BORDER, -- done
|
||||
MYBAGS_CMD_OPT_PLAYERSEL, -- done
|
||||
MYBAGS_CMD_OPT_SCALE, -- done
|
||||
MYBAGS_CMD_OPT_STRATA, -- done
|
||||
MYBAGS_CMD_OPT_ANCHOR, -- done
|
||||
MYBAGS_CMD_OPT_TOGGLE, -- done
|
||||
MYBAGS_CMD_RESET, -- done
|
||||
MYBAGS_CMD_OPT_GRAPHICS, -- skip
|
||||
MYBAGS_CMD_OPT_SLOTCOLOR, -- skip
|
||||
}
|
||||
]]
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,6 @@
|
||||
<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="locals.lua"/>
|
||||
<Script file="MyInventory.lua"/>
|
||||
<Frame name="MyInventoryAnchorFrame" hidden="false" movable="true" parent="UIParent">
|
||||
<Size>
|
||||
|
||||
@ -1,36 +0,0 @@
|
||||
-- Version : English - Ramble
|
||||
|
||||
MYINVENTORY_NAME = "MyInventory"
|
||||
MYINVENTORY_DESCRIPTION = "All in one inventory mod"
|
||||
|
||||
MYINVENTORYFRAME_TITLE = "Inventory"
|
||||
|
||||
-- SLASHCOMMANDS
|
||||
--[[
|
||||
MYINVENTORY_COMMANDS = {"/myinventory", "/mi"}
|
||||
MYINVENTORY_CMD_OPTIONS = {
|
||||
MYBAGS_CMD_OPT_TOGGLE, -- done
|
||||
MYBAGS_CMD_OPT_FREEZE, -- done
|
||||
MYBAGS_CMD_OPT_NOESC, -- done
|
||||
MYBAGS_CMD_OPT_COLUMNS, -- done
|
||||
MYBAGS_CMD_OPT_REPLACE, -- done
|
||||
MYBAGS_CMD_OPT_BAG, -- done
|
||||
MYBAGS_CMD_OPT_GRAPHICS, -- ????
|
||||
MYBAGS_CMD_OPT_HIGHLIGHT, -- done
|
||||
MYBAGS_CMD_OPT_LOCK, -- done
|
||||
MYBAGS_CMD_OPT_TITLE, -- done
|
||||
MYBAGS_CMD_OPT_CASH, -- done
|
||||
MYBAGS_CMD_OPT_BUTTONS, -- done
|
||||
MYBAGS_CMD_OPT_AIOI, -- done
|
||||
MYBAGS_CMD_OPT_REVERSE, -- done
|
||||
MYBAGS_CMD_OPT_BORDER, -- done
|
||||
MYBAGS_CMD_OPT_PLAYERSEL, -- done
|
||||
MYBAGS_CMD_OPT_COUNT,
|
||||
MYBAGS_CMD_OPT_SCALE,
|
||||
MYBAGS_CMD_OPT_STRATA,
|
||||
MYBAGS_CMD_OPT_ANCHOR,
|
||||
MYBAGS_CMD_RESET,
|
||||
MYBAGS_CMD_OPT_SLOTCOLOR,
|
||||
MYBAGS_CMD_OPT_COMPANION,
|
||||
}
|
||||
]]
|
||||
Reference in New Issue
Block a user