Initial version - 1.2.0.60
EN: 1.2.0.60 CN: 1.2.0.61 JP: 1.2.0.63 KR: 1.2.0.67
This commit is contained in:
@@ -0,0 +1,130 @@
|
||||
local RandomItemSelect = class("RandomItemSelect", BaseCtrl)
|
||||
RandomItemSelect._mapNodeConfig = {
|
||||
rtqQuantitySelector = {
|
||||
sCtrlName = "Game.UI.TemplateEx.TemplateQuantitySelectorCtrl"
|
||||
},
|
||||
txtStock = {sComponentName = "TMP_Text"},
|
||||
srItemList = {
|
||||
sComponentName = "LoopScrollView"
|
||||
},
|
||||
ItemContent = {sComponentName = "Transform"},
|
||||
btnClose = {
|
||||
sComponentName = "UIButton",
|
||||
callback = "OnBtnClick_Close"
|
||||
},
|
||||
btnConfirm2 = {
|
||||
sComponentName = "UIButton",
|
||||
callback = "OnBtnClick_Confirm"
|
||||
},
|
||||
txtbtnConfirm = {
|
||||
sComponentName = "TMP_Text",
|
||||
sLanguageId = "ConsumeableSelectButtonConfirm"
|
||||
},
|
||||
txtTitleRandomItemSelect2 = {
|
||||
sComponentName = "TMP_Text",
|
||||
sLanguageId = "ConsumeableSelectRandomItemTitle"
|
||||
},
|
||||
TMPTitleItem = {
|
||||
sComponentName = "TMP_Text",
|
||||
sLanguageId = "ConsumeableSelectRandomItemInfo"
|
||||
}
|
||||
}
|
||||
RandomItemSelect._mapEventConfig = {
|
||||
ConsumableCancel = "OnBtnClick_Close"
|
||||
}
|
||||
RandomItemSelect._mapRedDotConfig = {}
|
||||
function RandomItemSelect:Awake()
|
||||
self._mapItemCtrl = {}
|
||||
self.gameObject:SetActive(false)
|
||||
self.animator = self.gameObject:GetComponent("Animator")
|
||||
end
|
||||
function RandomItemSelect:FadeIn()
|
||||
end
|
||||
function RandomItemSelect:FadeOut()
|
||||
end
|
||||
function RandomItemSelect:OnEnable()
|
||||
end
|
||||
function RandomItemSelect:OnDisable()
|
||||
self:UnbindAllCtrl()
|
||||
end
|
||||
function RandomItemSelect:OnDestroy()
|
||||
end
|
||||
function RandomItemSelect:OnRelease()
|
||||
end
|
||||
function RandomItemSelect:UnbindAllCtrl()
|
||||
for go, mapCtrl in pairs(self._mapItemCtrl) do
|
||||
self:UnbindCtrlByNode(mapCtrl)
|
||||
end
|
||||
self._mapItemCtrl = {}
|
||||
end
|
||||
function RandomItemSelect:OpenPanel(nTid, nItemCount)
|
||||
self.gameObject:SetActive(true)
|
||||
self.animator:Play("t_window_04_t_in")
|
||||
if nItemCount == 0 then
|
||||
return
|
||||
end
|
||||
self._tbItem = {}
|
||||
self.nUseItemTid = nTid
|
||||
local mapItemCfgData = ConfigTable.GetData_Item(nTid)
|
||||
local mapItemUseCfg = decodeJson(mapItemCfgData.UseArgs)
|
||||
if mapItemCfgData ~= nil then
|
||||
for sTid, _ in pairs(mapItemUseCfg) do
|
||||
local nItemTid = tonumber(sTid)
|
||||
if nItemTid ~= nil then
|
||||
local tbDropShowData = PlayerData.Item:GetDropItemShow(nItemTid)
|
||||
if tbDropShowData ~= nil then
|
||||
for _, mapData in ipairs(tbDropShowData) do
|
||||
table.insert(self._tbItem, {
|
||||
mapData.ItemId,
|
||||
mapData.ItemQty
|
||||
})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
self.useCount = 1
|
||||
self.nItemCount = nItemCount
|
||||
local callback = function(nCount)
|
||||
self.useCount = nCount
|
||||
end
|
||||
if 0 < #self._tbItem then
|
||||
self._mapNode.srItemList:SetAnim(0.1)
|
||||
self._mapNode.srItemList:Init(#self._tbItem, self, self.OnGridRefresh, self.OnGridBtnClick, true)
|
||||
end
|
||||
NovaAPI.SetTMPText(self._mapNode.txtStock, orderedFormat(ConfigTable.GetUIText("ConsumableQtySelectorTitle"), self.nItemCount))
|
||||
self._mapNode.rtqQuantitySelector:Init(callback, 1, self.nItemCount)
|
||||
end
|
||||
function RandomItemSelect:OnGridRefresh(goGrid, gridIndex)
|
||||
if self._mapItemCtrl[goGrid] == nil then
|
||||
local mapCtrl = self:BindCtrlByNode(goGrid, "Game.UI.TemplateEx.TemplateItemCtrl")
|
||||
self._mapItemCtrl[goGrid] = mapCtrl
|
||||
end
|
||||
local nIdx = gridIndex
|
||||
if nIdx ~= nil then
|
||||
nIdx = nIdx + 1
|
||||
else
|
||||
return
|
||||
end
|
||||
local nItemTid = self._tbItem[nIdx][1]
|
||||
local nItemCount = self._tbItem[nIdx][2]
|
||||
self._mapItemCtrl[goGrid]:SetItem(nItemTid, nil, nItemCount)
|
||||
end
|
||||
function RandomItemSelect:OnGridBtnClick(goGrid, gridIndex)
|
||||
local nIdx = gridIndex
|
||||
if nIdx ~= nil then
|
||||
nIdx = nIdx + 1
|
||||
else
|
||||
return
|
||||
end
|
||||
local rtBtn = goGrid.transform:Find("btnGrid")
|
||||
UTILS.ClickItemGridWithTips(self._tbItem[nIdx][1], rtBtn, true, true, false)
|
||||
end
|
||||
function RandomItemSelect:OnBtnClick_Close(btn)
|
||||
EventManager.Hit("CancelUseItem")
|
||||
self.animator:Play("t_window_04_t_out")
|
||||
end
|
||||
function RandomItemSelect:OnBtnClick_Confirm(btn)
|
||||
EventManager.Hit("ConfirmUseItem", self.nUseItemTid, self.useCount)
|
||||
end
|
||||
return RandomItemSelect
|
||||
Reference in New Issue
Block a user