improvement for buying/cancelling mechanism
This commit is contained in:
+1
-28
@@ -105,32 +105,6 @@ function private.record_remover(record)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
do
|
|
||||||
local found_index
|
|
||||||
|
|
||||||
function private.find_auction(record)
|
|
||||||
if not Aux.util.index_of(record, auction_records) then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
found_index = nil
|
|
||||||
|
|
||||||
Aux.scan_util.find(record, private.status_bar, Aux.util.pass, private.record_remover(record), function(index)
|
|
||||||
|
|
||||||
found_index = index
|
|
||||||
|
|
||||||
private.cancel_button:SetScript('OnClick', function()
|
|
||||||
if private.test(record)(index) and Aux.util.index_of(record, auction_records) then
|
|
||||||
CancelAuction(index)
|
|
||||||
private.record_remover(record)()
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
private.cancel_button:Enable()
|
|
||||||
|
|
||||||
end)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
do
|
do
|
||||||
local scan_id
|
local scan_id
|
||||||
local IDLE, SEARCHING, FOUND = {}, {}, {}
|
local IDLE, SEARCHING, FOUND = {}, {}, {}
|
||||||
@@ -160,8 +134,7 @@ do
|
|||||||
|
|
||||||
private.cancel_button:SetScript('OnClick', function()
|
private.cancel_button:SetScript('OnClick', function()
|
||||||
if private.test(record)(index) and private.listing:ContainsRecord(record) then
|
if private.test(record)(index) and private.listing:ContainsRecord(record) then
|
||||||
CancelAuction(index)
|
Aux.cancel_auction(index, private.record_remover(record))
|
||||||
private.record_remover(record)()
|
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
private.cancel_button:Enable()
|
private.cancel_button:Enable()
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
Aux = {
|
Aux = {
|
||||||
version = '2.11.2',
|
version = '2.11.3',
|
||||||
blizzard_ui_shown = false,
|
blizzard_ui_shown = false,
|
||||||
orig = {},
|
orig = {},
|
||||||
}
|
}
|
||||||
@@ -167,17 +167,48 @@ do
|
|||||||
end
|
end
|
||||||
|
|
||||||
local money = GetMoney()
|
local money = GetMoney()
|
||||||
|
PlaceAuctionBid(type, index, amount)
|
||||||
if money >= amount then
|
if money >= amount then
|
||||||
locked = true
|
locked = true
|
||||||
local t0 = GetTime()
|
|
||||||
Aux.control.as_soon_as(function() return GetMoney() < money or GetTime() - t0 > 10 end, function()
|
local listener = Aux.control.event_listener('CHAT_MSG_SYSTEM')
|
||||||
if GetMoney() < money then
|
listener:set_action(function()
|
||||||
|
if arg1 == ERR_AUCTION_BID_PLACED then
|
||||||
on_success()
|
on_success()
|
||||||
|
locked = false
|
||||||
|
listener:stop()
|
||||||
end
|
end
|
||||||
locked = false
|
|
||||||
end)
|
end)
|
||||||
|
listener:start()
|
||||||
end
|
end
|
||||||
PlaceAuctionBid(type, index, amount)
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
do
|
||||||
|
local locked
|
||||||
|
|
||||||
|
function Aux.cancel_in_progress()
|
||||||
|
return locked
|
||||||
|
end
|
||||||
|
|
||||||
|
function Aux.cancel_auction(index, on_success)
|
||||||
|
|
||||||
|
if locked then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
locked = true
|
||||||
|
|
||||||
|
CancelAuction(index)
|
||||||
|
local listener = Aux.control.event_listener('CHAT_MSG_SYSTEM')
|
||||||
|
listener:set_action(function()
|
||||||
|
if arg1 == ERR_AUCTION_REMOVED then
|
||||||
|
on_success()
|
||||||
|
locked = false
|
||||||
|
listener:stop()
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
listener:start()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user