119 lines
3.3 KiB
Plaintext
119 lines
3.3 KiB
Plaintext
AuctionSignUpDetailView = class("AuctionSignUpDetailView", ContainerView)
|
|
|
|
AuctionSignUpDetailView.ViewType = UIViewType.PopUpLayer
|
|
|
|
local iteminfo = {}
|
|
|
|
function AuctionSignUpDetailView:OnExit()
|
|
if self.itemTipCell then
|
|
self.itemTipCell:Exit()
|
|
end
|
|
if self.timeTick then
|
|
TimeTickManager.Me():ClearTick(self)
|
|
self.timeTick = nil
|
|
end
|
|
AuctionSignUpDetailView.super.OnExit(self)
|
|
end
|
|
|
|
function AuctionSignUpDetailView:Init()
|
|
self:FindObjs()
|
|
self:AddEvts()
|
|
self:AddViewEvts()
|
|
self:InitShow()
|
|
end
|
|
|
|
function AuctionSignUpDetailView:FindObjs()
|
|
self.ownInfo = self:FindGO("OwnInfo"):GetComponent(UILabel)
|
|
self.money = self:FindGO("Money"):GetComponent(UILabel)
|
|
self.countdown = self:FindGO("Countdown"):GetComponent(UILabel)
|
|
self.rate = self:FindGO("Rate"):GetComponent(UILabel)
|
|
end
|
|
|
|
function AuctionSignUpDetailView:AddEvts()
|
|
local confirmBtn = self:FindGO("ConfirmBtn")
|
|
self:AddClickEvent(confirmBtn, function ()
|
|
self:Confirm()
|
|
end)
|
|
end
|
|
|
|
function AuctionSignUpDetailView:AddViewEvts()
|
|
self:AddListenEvt(ServiceEvent.RecordTradeReqServerPriceRecordTradeCmd, self.HandlePrice)
|
|
end
|
|
|
|
function AuctionSignUpDetailView:InitShow()
|
|
local data = self.viewdata.viewdata
|
|
if data then
|
|
self.itemTipCell = ItemTipBaseCell.new(self.gameObject)
|
|
self.itemTipCell:SetData(data.itemdata)
|
|
|
|
self.itemid = data.itemdata.staticData.id
|
|
local own = BagProxy.Instance:GetItemNumByStaticID(self.itemid)
|
|
self.ownInfo.text = own or 0
|
|
|
|
if data.price ~= nil then
|
|
self:UpdatePrice(data.price)
|
|
else
|
|
FunctionItemTrade.Me():GetTradePrice(data.itemdata, true, false)
|
|
end
|
|
|
|
self.rate.text = string.format(ZhString.Auction_Rate, GameConfig.Auction.Rate * 100)
|
|
|
|
if self.timeTick == nil then
|
|
self.timeTick = TimeTickManager.Me():CreateTick(0, 1000, self.UpdateCountdown, self)
|
|
end
|
|
end
|
|
end
|
|
|
|
function AuctionSignUpDetailView:Confirm()
|
|
local data = self.viewdata.viewdata
|
|
if data then
|
|
MsgManager.ConfirmMsgByID(9501, function ()
|
|
local equipInfo = data.itemdata.equipInfo
|
|
if equipInfo and equipInfo.equiplv > 0 then
|
|
local cost = GameConfig.EquipRecover.Upgrade[equipInfo.equiplv] or 0
|
|
MsgManager.ConfirmMsgByID(10302, function ()
|
|
ServiceItemProxy.Instance:CallRestoreEquipItemCmd(data.itemdata.id , false , nil , false, true)
|
|
end, nil, nil, cost)
|
|
else
|
|
TableUtility.TableClear(iteminfo)
|
|
|
|
iteminfo.itemid = self.itemid
|
|
|
|
helplog("CallSignUpItemCCmd", self.itemid, data.itemdata.id)
|
|
ServiceAuctionCCmdProxy.Instance:CallSignUpItemCCmd(iteminfo, nil , data.itemdata.id)
|
|
end
|
|
|
|
self:CloseSelf()
|
|
end)
|
|
end
|
|
end
|
|
|
|
function AuctionSignUpDetailView:UpdatePrice(price)
|
|
if price ~= nil then
|
|
self.money.text = StringUtil.NumThousandFormat(price)
|
|
end
|
|
end
|
|
|
|
function AuctionSignUpDetailView:UpdateCountdown()
|
|
local auctionTime = AuctionProxy.Instance:GetAuctionTime()
|
|
if auctionTime then
|
|
local totalSec = auctionTime - ServerTime.CurServerTime()/1000
|
|
if totalSec > 0 then
|
|
local day,hour,min,sec = ClientTimeUtil.FormatTimeBySec(totalSec)
|
|
|
|
self.countdown.text = string.format(ZhString.Auction_Countdown, day, hour, min, sec)
|
|
return
|
|
end
|
|
end
|
|
|
|
self.countdown.gameObject:SetActive(false)
|
|
end
|
|
function AuctionSignUpDetailView:HandlePrice(note)
|
|
local data = note.body
|
|
if data ~= nil then
|
|
if data.itemData.base.id == self.itemid then
|
|
local price = data.price * GameConfig.Auction.TradePriceDiscount / 100
|
|
self:UpdatePrice(price)
|
|
end
|
|
end
|
|
end |