35c8d87e86
EN: 1.4.0.73 CN: 1.4.0.74 JP: 1.4.0.77 KR: 1.4.0.80
60 lines
2.4 KiB
Lua
60 lines
2.4 KiB
Lua
local BoardSelectedCtrl = class("BoardSelectedCtrl", BaseCtrl)
|
|
local PlayerHandbookData = PlayerData.Handbook
|
|
BoardSelectedCtrl._mapNodeConfig = {
|
|
goEmpty = {},
|
|
goSelected = {},
|
|
imgIcon = {sComponentName = "Image"},
|
|
imgRare = {sComponentName = "Image"},
|
|
imgCornerRole = {},
|
|
imgCornerOutfit = {},
|
|
btnItem = {
|
|
sComponentName = "Button",
|
|
callback = "OnBtnClick_Item"
|
|
}
|
|
}
|
|
function BoardSelectedCtrl:Refresh(idx, id, bIsSelected)
|
|
local bEmpty = nil == id
|
|
self.nHandbookId = id
|
|
self._mapNode.goEmpty.gameObject:SetActive(true)
|
|
self._mapNode.goSelected.gameObject:SetActive(not bEmpty)
|
|
if not bEmpty then
|
|
local handbookData = PlayerHandbookData:GetHandbookDataById(id)
|
|
if nil == handbookData then
|
|
return
|
|
end
|
|
self._mapNode.imgCornerRole.gameObject:SetActive(handbookData:GetType() == GameEnum.handbookType.SKIN)
|
|
self._mapNode.imgCornerOutfit.gameObject:SetActive(handbookData:GetType() == GameEnum.handbookType.OUTFIT)
|
|
if handbookData:GetType() == GameEnum.handbookType.SKIN then
|
|
local charCfgData = handbookData:GetCharCfgData()
|
|
if nil ~= charCfgData then
|
|
local rareIconName = AllEnum.FrameType_New.BoardFrame .. AllEnum.BoardFrameColor[charCfgData.Grade]
|
|
self:SetAtlasSprite(self._mapNode.imgRare, "12_rare", rareIconName)
|
|
NovaAPI.SetImageNativeSize(self._mapNode.imgRare)
|
|
end
|
|
local charSkinCfgData = handbookData:GetSkinCfgData()
|
|
if nil ~= charSkinCfgData then
|
|
self:SetPngSprite(self._mapNode.imgIcon, charSkinCfgData.Icon, AllEnum.CharHeadIconSurfix.XXL)
|
|
end
|
|
elseif handbookData:GetType() == GameEnum.handbookType.OUTFIT then
|
|
local discCfgData = handbookData:GetDiscCfgData()
|
|
local outfitItemCfgData = handbookData:GetDiscItemCfgData()
|
|
if nil ~= discCfgData and nil ~= outfitItemCfgData then
|
|
self:SetPngSprite(self._mapNode.imgIcon, outfitItemCfgData.Icon .. AllEnum.OutfitIconSurfix.ListGrid)
|
|
local sPath = AllEnum.FrameType_New.BoardFrame .. AllEnum.BoardFrameColor[outfitItemCfgData.Rarity]
|
|
self:SetAtlasSprite(self._mapNode.imgRare, "12_rare", sPath)
|
|
NovaAPI.SetImageNativeSize(self._mapNode.imgRare)
|
|
end
|
|
end
|
|
if bIsSelected == true then
|
|
self._mapNode.goSelected.transform.localScale = Vector3(0.5, 0.5, 1)
|
|
self._mapNode.goSelected.transform:DOScale(1, 0.2):SetUpdate(true):SetEase(Ease.OutBack)
|
|
end
|
|
end
|
|
end
|
|
function BoardSelectedCtrl:OnBtnClick_Item()
|
|
if nil ~= self.nHandbookId then
|
|
EventManager.Hit(EventId.BoardSelectItem, self.nHandbookId)
|
|
end
|
|
end
|
|
return BoardSelectedCtrl
|