vanilla-wow-addons – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | --[[ |
2 | Banknon |
||
3 | Combines the player's bank into a single frame |
||
4 | --]] |
||
5 | |||
6 | --[[ Loading Functions ]]-- |
||
7 | |||
8 | function Banknon_OnLoad() |
||
9 | --Create the confirmation dialog when purchasing a bank slot |
||
10 | StaticPopupDialogs["CONFIRM_BUY_BANK_SLOT_BANKNON"] = { |
||
11 | text = TEXT(CONFIRM_BUY_BANK_SLOT), |
||
12 | button1 = TEXT(YES), |
||
13 | button2 = TEXT(NO), |
||
14 | |||
15 | OnAccept = function() |
||
16 | PurchaseSlot(); |
||
17 | end, |
||
18 | |||
19 | OnShow = function() |
||
20 | MoneyFrame_Update(this:GetName().."MoneyFrame", GetBankSlotCost(GetNumBankSlots()) ); |
||
21 | end, |
||
22 | |||
23 | hasMoneyFrame = 1, |
||
24 | timeout = 0, |
||
25 | hideOnEscape = 1, |
||
26 | }; |
||
27 | |||
28 | this:RegisterEvent("ADDON_LOADED"); |
||
29 | end |
||
30 | |||
31 | --[[ Event Handler ]]-- |
||
32 | |||
33 | function Banknon_OnEvent(event) |
||
34 | if ( event == "PLAYER_MONEY" or event == "PLAYERBANKBAGSLOTS_CHANGED") then |
||
35 | if(Banknon:IsShown() ) then |
||
36 | Banknon_UpdateSlotCost(); |
||
37 | end |
||
38 | elseif ( event == "BANKFRAME_OPENED") then |
||
39 | Banknon_UpdatePurchaseButtonVis(); |
||
40 | elseif ( event == "BANKFRAME_CLOSED") then |
||
41 | Banknon_UpdatePurchaseButtonVis(); |
||
42 | elseif ( event == "ADDON_LOADED" and arg1 == "Banknon") then |
||
43 | Banknon:UnregisterEvent("ADDON_LOADED"); |
||
44 | Banknon_Load(); |
||
45 | end |
||
46 | end |
||
47 | |||
48 | function Banknon_Load() |
||
49 | BagnonFrame_Load(Banknon, {-1, 5, 6, 7, 8, 9, 10}, BAGNON_BANK_TITLE); |
||
50 | |||
51 | if(CT_BankFrame_AcceptFrame) then |
||
52 | CT_BankFrame_AcceptFrame:SetParent(Banknon); |
||
53 | end |
||
54 | |||
55 | Banknon:RegisterEvent("PLAYER_MONEY"); |
||
56 | Banknon:RegisterEvent("PLAYERBANKBAGSLOTS_CHANGED"); |
||
57 | Banknon:RegisterEvent("BANKFRAME_OPENED"); |
||
58 | Banknon:RegisterEvent("BANKFRAME_CLOSED"); |
||
59 | |||
60 | Banknon_UpdateSlotCost(); |
||
61 | end |
||
62 | |||
63 | --[[ UI Functions ]]-- |
||
64 | |||
65 | --OnShow |
||
66 | function Banknon_OnShow() |
||
67 | Banknon_UpdatePurchaseButtonVis(); |
||
68 | PlaySound("igMainMenuOpen"); |
||
69 | end |
||
70 | |||
71 | --OnHide |
||
72 | function Banknon_OnHide() |
||
73 | PlaySound("igMainMenuClose"); |
||
74 | CloseBankFrame(); |
||
75 | end |
||
76 | |||
77 | --[[ Bank Slots functions ]]-- |
||
78 | |||
79 | --Show/Hide the bag frame |
||
80 | function Banknon_ToggleSlots() |
||
81 | if( not BanknonBags:IsShown() ) then |
||
82 | BanknonBags:Show(); |
||
83 | BagnonSets["Banknon"].bagsShown = 1; |
||
84 | this:SetText(BAGNON_HIDEBAGS); |
||
85 | else |
||
86 | BanknonBags:Hide(); |
||
87 | BagnonSets["Banknon"].bagsShown = nil; |
||
88 | this:SetText(BAGNON_SHOWBAGS); |
||
89 | end |
||
90 | |||
91 | Banknon_UpdatePurchaseButtonVis(not BagnonSets["Banknon"].bagsShown); |
||
92 | end |
||
93 | |||
94 | function Banknon_UpdateSlotCost() |
||
95 | local cost = GetBankSlotCost( GetNumBankSlots() ); |
||
96 | if( GetMoney() >= cost ) then |
||
97 | SetMoneyFrameColor("BanknonCost", 1.0, 1.0, 1.0); |
||
98 | else |
||
99 | SetMoneyFrameColor("BanknonCost", 1.0, 0.1, 0.1) |
||
100 | end |
||
101 | MoneyFrame_Update("BanknonCost", cost); |
||
102 | |||
103 | Banknon_UpdatePurchaseButtonVis(); |
||
104 | end |
||
105 | |||
106 | --yes, magic numbers are bad |
||
107 | function Banknon_UpdatePurchaseButtonVis(hide) |
||
108 | if( BanknonBags:IsVisible() or hide) then |
||
109 | local _, full = GetNumBankSlots(); |
||
110 | if( not full and bgn_atBank and (Banknon.player and Banknon.player == UnitName("player") ) and not hide ) then |
||
111 | BanknonPurchase:Show(); |
||
112 | BanknonCost:Show(); |
||
113 | BanknonBags:SetHeight(72); |
||
114 | else |
||
115 | BanknonPurchase:Hide(); |
||
116 | BanknonCost:Hide(); |
||
117 | BanknonBags:SetHeight(46); |
||
118 | end |
||
119 | end |
||
120 | BagnonFrame_TrimToSize(Banknon); |
||
121 | end |