miduo_client/Assets/ManagedResources/~Lua/Modules/Popup/View/GeneralPopup_YuJianXingBetS...

101 lines
3.4 KiB
Lua

----- 御剑行选择精彩数量 -----
local this = {}
--传入父脚本模块
local parent
local configData = ConfigManager.GetConfigData(ConfigName.RidingSwardConfig,1)
function this:InitComponent(gameObject)
self.spLoader = SpriteLoader.New()
self.slider = Util.GetGameObject(gameObject, "Slider"):GetComponent("Slider")
self.leftBtn = Util.GetGameObject(self.slider.gameObject, "leftbtn")
self.rightBtn = Util.GetGameObject(self.slider.gameObject, "rightbtn")
self.buyNumLab = Util.GetGameObject(self.slider.gameObject, "count"):GetComponent("Text")
self.icon = Util.GetGameObject(gameObject, "icon"):GetComponent("Image")
self.icon1 = Util.GetGameObject(gameObject, "icon1"):GetComponent("Image")
self.curNum = Util.GetGameObject(gameObject, "curNum"):GetComponent("Text")
self.btnSure = Util.GetGameObject(gameObject, "BtnSure")
end
function this:BindEvent()
Util.AddOnceClick(self.btnSure,function ()
NetManager.RidingSwardBetRequest(self.args,self.slider.value,function ()
Game.GlobalEvent:DispatchEvent(GameEvent.YuJianXing.UpdateBetTime)
Game.GlobalEvent:DispatchEvent(GameEvent.YuJianXing.UpdateRank)
CheckRedPointStatus(RedPointType.YuJianXingMian)
self.parent:ClosePanel()
end)
end)
Util.AddOnceClick(self.leftBtn,function ()
if self.slider.value - 1 > configData.JoinCost[2] then
self.slider.value = self.slider.value - 1
self.buyNumLab.text = self.slider.value
end
end)
Util.AddOnceClick(self.rightBtn,function ()
if self.slider.value + 1 < configData.MaxRaiseNum[2] then
self.slider.value = self.slider.value + 1
self.buyNumLab.text = self.slider.value
end
end)
Util.AddSlider(self.slider.gameObject, function(go, value)
self.buyNumLab.text = self.slider.value
end)
end
function this:AddListener()
Game.GlobalEvent:AddEvent(GameEvent.YuJianXing.UpdateRank, self.OnClose,self)
end
function this:RemoveListener()
Game.GlobalEvent:RemoveEvent(GameEvent.YuJianXing.UpdateRank, self.OnClose,self)
end
function this:OnShow(_parent,...)
self.parent = _parent
self.args = ...
self:Refresh()
end
function this:Refresh()
local curGetNum = BagManager.GetTotalItemNum(configData.JoinCost[1]) > configData.MaxRaiseNum[2] and configData.MaxRaiseNum[2] or BagManager.GetTotalItemNum(configData.JoinCost[1])
self.curNum.text = BagManager.GetTotalItemNum(configData.JoinCost[1])
self.icon.sprite = self.spLoader:LoadSprite(GetSpriteNameByItemId(configData.JoinCost[1]))
self.icon1.sprite = self.spLoader:LoadSprite(GetSpriteNameByItemId(configData.JoinCost[1]))
self.slider.minValue = configData.JoinCost[2]
self.slider.maxValue = curGetNum
self.buyNumLab.text = self.slider.value
self.slider.value = curGetNum
self:SetTime()
end
function this:SetTime()
local roundTime = YuJianXingManager.nextTimeCount- GetTimeStamp()
if self.timer then
self.timer:Stop()
self.timer = nil
end
self.timer = Timer.New(function ()
roundTime = roundTime - 1
if roundTime <= 0 then
self.parent:ClosePanel()
end
end,1,-1)
self.timer:Start()
end
function this:OnClose()
if self.timer then
self.timer:Stop()
self.timer = nil
end
end
function this:OnDestroy()
this.spLoader:Destroy()
end
return this