8c4bd41668
EN: 1.13.0.124 CN: 1.13.0.124 JP: 1.13.0.128 KR: 1.13.0.130
178 lines
6.0 KiB
Lua
178 lines
6.0 KiB
Lua
local SoldierBattleEventItemCtrl = class("SoldierBattleEventItemCtrl", BaseCtrl)
|
|
SoldierBattleEventItemCtrl._mapNodeConfig = {
|
|
imgBgNormal = {sComponentName = "Image"},
|
|
ConfirmBtnLocalPos = {sComponentName = "Transform"},
|
|
TextName = {sComponentName = "TMP_Text"},
|
|
TextDes = {sComponentName = "TMP_Text"},
|
|
btnTakeBuff = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_TakeBuff"
|
|
},
|
|
txtTakeBuff = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "Btn_EarnReward"
|
|
},
|
|
btnChallenge = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_Challenge"
|
|
},
|
|
txtBtnChallenge = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "Soldier_BattleEventItem_Challenge"
|
|
},
|
|
txtNeedPoint = {sComponentName = "TMP_Text"},
|
|
txt_charTitle = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "Soldier_BattleEventItem_RewardItem"
|
|
},
|
|
gridCoin = {
|
|
sCtrlName = "Game.UI.Soldier.Template.SoldierItemGridCtrl"
|
|
},
|
|
gridChess = {
|
|
sCtrlName = "Game.UI.Soldier.Template.SoldierItemGridCtrl"
|
|
},
|
|
gridBuff = {
|
|
sCtrlName = "Game.UI.Soldier.Template.SoldierItemGridCtrl"
|
|
},
|
|
RewardRoot = {}
|
|
}
|
|
SoldierBattleEventItemCtrl._mapEventConfig = {}
|
|
SoldierBattleEventItemCtrl._mapRedDotConfig = {}
|
|
function SoldierBattleEventItemCtrl:Awake()
|
|
end
|
|
function SoldierBattleEventItemCtrl:OnEnable()
|
|
end
|
|
function SoldierBattleEventItemCtrl:OnDisable()
|
|
end
|
|
function SoldierBattleEventItemCtrl:OnDestroy()
|
|
end
|
|
function SoldierBattleEventItemCtrl:SetRefreshCallback(obj, fn)
|
|
self._objRefreshCallback = obj
|
|
self._fnRefreshCallback = fn
|
|
end
|
|
function SoldierBattleEventItemCtrl:SetSelectCallback(obj, fn)
|
|
self._objSelectCallback = obj
|
|
self._fnSelectCallback = fn
|
|
end
|
|
function SoldierBattleEventItemCtrl:OnBtnClick_Select()
|
|
end
|
|
function SoldierBattleEventItemCtrl:SetItemData(tbItem)
|
|
if tbItem == nil then
|
|
self._nCardId = -1
|
|
self._nIndex = 0
|
|
self:SetSelected(false)
|
|
return
|
|
end
|
|
self._nCardId = tbItem.id or -1
|
|
self._nIndex = tbItem.index or 0
|
|
local cfg = ConfigTable.GetData("SoldierEventBattlePool", self._nCardId)
|
|
if cfg == nil then
|
|
return
|
|
end
|
|
self:_SetIcon(cfg.Icon)
|
|
if self._mapNode.TextName ~= nil then
|
|
NovaAPI.SetTMPText(self._mapNode.TextName, cfg.Title or "")
|
|
end
|
|
if self._mapNode.TextDes ~= nil then
|
|
NovaAPI.SetTMPText(self._mapNode.TextDes, cfg.Name or "")
|
|
end
|
|
self:SetPngSprite(self._mapNode.imgBgNormal, "Icon/SoldierOtherIcon/EventBattleQuality_0" .. cfg.LevelName)
|
|
self:RefreshCharItems(cfg.coin, cfg.CharacterCount, cfg.StrategyCardCount)
|
|
local tbDicePointLevel = ConfigTable.GetConfigArray("SoldierChessEventBattle")
|
|
self.nNeedPoint = tonumber(tbDicePointLevel[self._nIndex]) or 0
|
|
local sNeedText = orderedFormat(ConfigTable.GetUIText("Soldier_Event_NeedPoint"), self.nNeedPoint)
|
|
NovaAPI.SetTMPText(self._mapNode.txtNeedPoint, sNeedText or "")
|
|
end
|
|
function SoldierBattleEventItemCtrl:RefreshCharItems(nCoinCount, nCharCount, nStrategyCardCount)
|
|
if nCoinCount <= 0 and nCharCount <= 0 and nStrategyCardCount <= 0 then
|
|
self._mapNode.RewardRoot.gameObject:SetActive(false)
|
|
return
|
|
end
|
|
self._mapNode.RewardRoot.gameObject:SetActive(true)
|
|
self.nCoinCount = nCoinCount
|
|
if 0 >= self.nCoinCount then
|
|
self._mapNode.gridCoin.gameObject:SetActive(false)
|
|
else
|
|
self._mapNode.gridCoin.gameObject:SetActive(true)
|
|
self._mapNode.gridCoin:SetItem(1, self.nCoinCount, "Icon/Item/item_40", 40)
|
|
end
|
|
self.nCharCount = nCharCount
|
|
if 0 >= self.nCharCount then
|
|
self._mapNode.gridChess.gameObject:SetActive(false)
|
|
else
|
|
self._mapNode.gridChess.gameObject:SetActive(true)
|
|
self._mapNode.gridChess:SetItem(1, self.nCharCount, "Icon/SoldierOtherIcon/icon_soldier_random_chess", 2701001)
|
|
end
|
|
self.nStrategyCardCount = nStrategyCardCount
|
|
if 0 >= self.nStrategyCardCount then
|
|
self._mapNode.gridBuff.gameObject:SetActive(false)
|
|
else
|
|
self._mapNode.gridBuff.gameObject:SetActive(true)
|
|
self._mapNode.gridBuff:SetItem(1, self.nStrategyCardCount, "Icon/SoldierOtherIcon/icon_soldier_random_strategycard", 2701002)
|
|
end
|
|
self:SetButtonInit()
|
|
end
|
|
function SoldierBattleEventItemCtrl:SetButtonInit()
|
|
self._mapNode.btnTakeBuff.gameObject:SetActive(false)
|
|
self._mapNode.btnChallenge.gameObject:SetActive(false)
|
|
self._mapNode.txtNeedPoint.gameObject:SetActive(true)
|
|
end
|
|
function SoldierBattleEventItemCtrl:SetDiceCasted(nPoint)
|
|
self._mapNode.txtNeedPoint.gameObject:SetActive(false)
|
|
if nPoint < self.nNeedPoint then
|
|
self._mapNode.btnTakeBuff.gameObject:SetActive(false)
|
|
self._mapNode.btnChallenge.gameObject:SetActive(true)
|
|
else
|
|
self._mapNode.btnTakeBuff.gameObject:SetActive(true)
|
|
self._mapNode.btnChallenge.gameObject:SetActive(false)
|
|
end
|
|
end
|
|
function SoldierBattleEventItemCtrl:OnGridBtnClick(nIndex)
|
|
end
|
|
function SoldierBattleEventItemCtrl:GetCardId()
|
|
return self._nCardId
|
|
end
|
|
function SoldierBattleEventItemCtrl:GetIndex()
|
|
return self._nIndex
|
|
end
|
|
function SoldierBattleEventItemCtrl:SetSelected(bSelected)
|
|
self._bSelected = bSelected == true
|
|
if self._mapNode.ImageSelect ~= nil and self._mapNode.ImageSelect.gameObject ~= nil then
|
|
self._mapNode.ImageSelect.gameObject:SetActive(self._bSelected)
|
|
end
|
|
end
|
|
function SoldierBattleEventItemCtrl:IsSelected()
|
|
return self._bSelected
|
|
end
|
|
function SoldierBattleEventItemCtrl:GetConfirmBtnPosition()
|
|
local node = self._mapNode.ConfirmBtnLocalPos
|
|
if node == nil or node.transform == nil then
|
|
return nil
|
|
end
|
|
return node.transform.position
|
|
end
|
|
function SoldierBattleEventItemCtrl:_SetIcon(sIconPath)
|
|
if self._mapNode.img_icon == nil then
|
|
return
|
|
end
|
|
if sIconPath and 0 < #sIconPath then
|
|
self:SetPngSprite(self._mapNode.img_icon, sIconPath)
|
|
self._mapNode.img_icon.gameObject:SetActive(true)
|
|
else
|
|
self._mapNode.img_icon.gameObject:SetActive(false)
|
|
end
|
|
end
|
|
function SoldierBattleEventItemCtrl:OnBtnClick_TakeBuff()
|
|
local callback = function()
|
|
EventManager.Hit("SoldierSelectEventBattle")
|
|
end
|
|
PlayerData.SoldierData:GetCurLevelData():SendEventBattleChoose(self._nIndex, callback)
|
|
end
|
|
function SoldierBattleEventItemCtrl:OnBtnClick_Challenge()
|
|
local callback = function()
|
|
EventManager.Hit("SoldierSelectEventBattle")
|
|
end
|
|
PlayerData.SoldierData:GetCurLevelData():SendEventBattleChoose(self._nIndex, callback)
|
|
end
|
|
return SoldierBattleEventItemCtrl
|