137 lines
4.2 KiB
Lua
137 lines
4.2 KiB
Lua
|
--
|
|||
|
-- Author: wujie
|
|||
|
-- Note: 图鉴意识一级界面的格子
|
|||
|
local XUiGridArchiveAwareness = XClass(nil, "XUiGridArchiveAwareness")
|
|||
|
|
|||
|
function XUiGridArchiveAwareness:Ctor(ui, clickCb, rootUi)
|
|||
|
self.GameObject = ui.gameObject
|
|||
|
self.Transform = ui.transform
|
|||
|
self.RootUi = rootUi
|
|||
|
self.ClickCb = clickCb
|
|||
|
|
|||
|
XTool.InitUiObject(self)
|
|||
|
|
|||
|
self.ImgGirdStarList = {
|
|||
|
self.ImgGirdStar1,
|
|||
|
self.ImgGirdStar2,
|
|||
|
self.ImgGirdStar3,
|
|||
|
self.ImgGirdStar4,
|
|||
|
self.ImgGirdStar5,
|
|||
|
self.ImgGirdStar6,
|
|||
|
}
|
|||
|
|
|||
|
self.BtnClick.CallBack = function() self:OnBtnClick() end
|
|||
|
end
|
|||
|
|
|||
|
function XUiGridArchiveAwareness:InitRootUi(rootUi)
|
|||
|
self.RootUi = rootUi
|
|||
|
end
|
|||
|
|
|||
|
function XUiGridArchiveAwareness:SetClickCallback(callback)
|
|||
|
self.ClickCb = callback
|
|||
|
end
|
|||
|
|
|||
|
function XUiGridArchiveAwareness:UpdateStar()
|
|||
|
local star = XDataCenter.EquipManager.GetSuitStar(self.SuitId)
|
|||
|
for i = 1, XEquipConfig.MAX_STAR_COUNT do
|
|||
|
if self.ImgGirdStarList[i] then
|
|||
|
self.ImgGirdStarList[i].gameObject:SetActiveEx(i <= star)
|
|||
|
end
|
|||
|
end
|
|||
|
end
|
|||
|
|
|||
|
function XUiGridArchiveAwareness:UpdateCollectedCount()
|
|||
|
local suitId = self.SuitId
|
|||
|
local templateIdList = XEquipConfig.GetEquipTemplateIdsBySuitId(suitId)
|
|||
|
local sumCount = #templateIdList
|
|||
|
local curCount = XDataCenter.ArchiveManager.GetAwarenessCountBySuitId(suitId)
|
|||
|
self.TxtSumCount.text = sumCount
|
|||
|
self.TxtCurCount.text = curCount
|
|||
|
end
|
|||
|
|
|||
|
function XUiGridArchiveAwareness:Refresh(dataList,index)
|
|||
|
local data = dataList and dataList[index]
|
|||
|
if not data then
|
|||
|
return
|
|||
|
end
|
|||
|
self.Data = data
|
|||
|
local suitId = data.Id
|
|||
|
self.SuitId = suitId
|
|||
|
self.SuitIdList = {}
|
|||
|
|
|||
|
for dataIndex,tmpData in pairs(dataList) do
|
|||
|
self.SuitIdList[dataIndex] = tmpData.Id
|
|||
|
end
|
|||
|
|
|||
|
self.DataIndex = index
|
|||
|
|
|||
|
local isBigIcon = true
|
|||
|
if self.RImgIcon then
|
|||
|
if XEquipConfig.IsDefaultSuitId(suitId) then
|
|||
|
self.RImgIcon.gameObject:SetActiveEx(false)
|
|||
|
else
|
|||
|
local icon
|
|||
|
if isBigIcon then
|
|||
|
icon = XDataCenter.EquipManager.GetSuitBigIconBagPath(suitId)
|
|||
|
else
|
|||
|
icon = XDataCenter.EquipManager.GetSuitIconBagPath(suitId)
|
|||
|
end
|
|||
|
|
|||
|
self.RImgIcon:SetRawImage(icon)
|
|||
|
self.RImgIcon.gameObject:SetActiveEx(true)
|
|||
|
end
|
|||
|
end
|
|||
|
|
|||
|
--装备专用的竖条品质色
|
|||
|
if self.ImgEquipQuality then
|
|||
|
self.RootUi:SetUiSprite(self.ImgEquipQuality, XDataCenter.EquipManager.GetSuitQualityIcon(suitId))
|
|||
|
end
|
|||
|
|
|||
|
if self.TxtName then
|
|||
|
self.TxtName.text = XDataCenter.EquipManager.GetSuitName(suitId)
|
|||
|
end
|
|||
|
|
|||
|
if self.Data.Add and #self.Data.Add > 0 then
|
|||
|
self.TxtActivity.text = self.Data.Add
|
|||
|
self.TxtActivity.gameObject:SetActiveEx(true)
|
|||
|
else
|
|||
|
self.TxtActivity.gameObject:SetActiveEx(false)
|
|||
|
end
|
|||
|
|
|||
|
|
|||
|
self:UpdateStar()
|
|||
|
self:UpdateCollectedCount()
|
|||
|
XRedPointManager.CheckOnce(
|
|||
|
self.OnCheckRedPoint,
|
|||
|
self,
|
|||
|
{ XRedPointConditions.Types.CONDITION_ARCHIVE_AWARENESS_GRID_NEW_TAG, XRedPointConditions.Types.CONDITION_ARCHIVE_AWARENESS_SETTING_RED },
|
|||
|
self.SuitId
|
|||
|
)
|
|||
|
end
|
|||
|
|
|||
|
-----------------------------------事件相关----------------------------------------->>>
|
|||
|
function XUiGridArchiveAwareness:OnBtnClick()
|
|||
|
if self.ClickCb then
|
|||
|
self.ClickCb(self.SuitIdList,self.DataIndex, self)
|
|||
|
end
|
|||
|
end
|
|||
|
|
|||
|
-- 有new标签时显示new标签,如果只有红点显示红点,红点和new标签同时存在则只显示new标签
|
|||
|
function XUiGridArchiveAwareness:OnCheckRedPoint(count)
|
|||
|
local suitId = self.SuitId
|
|||
|
if count < 0 or not suitId then
|
|||
|
self.PanelNewTag.gameObject:SetActiveEx(false)
|
|||
|
self.PanelRedPoint.gameObject:SetActiveEx(false)
|
|||
|
else
|
|||
|
local isShowTag = XDataCenter.ArchiveManager.IsNewAwarenessSuit(suitId)
|
|||
|
if isShowTag then
|
|||
|
self.PanelNewTag.gameObject:SetActiveEx(true)
|
|||
|
self.PanelRedPoint.gameObject:SetActiveEx(false)
|
|||
|
else
|
|||
|
self.PanelNewTag.gameObject:SetActiveEx(false)
|
|||
|
self.PanelRedPoint.gameObject:SetActiveEx(XDataCenter.ArchiveManager.IsNewAwarenessSetting(suitId))
|
|||
|
end
|
|||
|
end
|
|||
|
end
|
|||
|
-----------------------------------事件相关-----------------------------------------<<<
|
|||
|
return XUiGridArchiveAwareness
|