PGRData/Script/matrix/xui/xuinier/xuicharacter/XUiNierCharacter.lua

133 lines
No EOL
4.4 KiB
Lua

local XUiNierCharacter = XLuaUiManager.Register(XLuaUi, "UiNierCharacter")
local UiPanelFoster = require("XUi/XUiNieR/XUiCharacter/XUiPanelNierCharacterFoster")
local UiPanelStory = require("XUi/XUiNieR/XUiCharacter/XUiPanelNierCharacterStory")
local UiPanelTeaching = require("XUi/XUiNieR/XUiCharacter/XUiPanelNierCharacterTeaching")
local PANEL_INDEX = {
Foster = 1,
Story = 2,
Teaching = 3,
}
function XUiNierCharacter:OnAwake()
self.BtnBack.CallBack = function() self:OnBtnBackClick() end
self.BtnMainUi.CallBack = function() self:OnBtnMainUiClick() end
self:BindHelpBtn(self.BtnHelp, "NierCharacterHelp")
self.AssetPanel = XUiPanelAsset.New(self, self.PanelAsset, XDataCenter.ItemManager.ItemId.FreeGem, XDataCenter.ItemManager.ItemId.ActionPoint, XDataCenter.ItemManager.ItemId.Coin)
self.TabList = {
self.BtnTabPeiyang,
self.BtnTabDangan,
self.BtnTabJiaoxue
}
self.PanelCharacterTypeBtns:Init(self.TabList, function(index) self:OnBtnTabPanelSelect(index) end)
self.UiPanelFoster = UiPanelFoster.New(self.PanelFoster , self)
self.UiPanelStory = UiPanelStory.New(self.PanelStory , self)
self.UiPanelTeaching = UiPanelTeaching.New(self.PanelMainlineTeaching , self)
end
function XUiNierCharacter:OnReleaseInst()
return self.CurToggleType
end
function XUiNierCharacter:OnResume(CurToggleType)
self.CurToggleType = CurToggleType
end
function XUiNierCharacter:OnStart()
self.CurToggleType = self.CurToggleType and self.CurToggleType or PANEL_INDEX.Foster
self.Character = XDataCenter.NieRManager.GetSelNieRCharacter()
self.NieRCharacterId = self.Character:GetNieRCharacterId()
self.RoleName.text = self.Character:GetNieRCharName()
self.ImgRole:SetRawImage(self.Character:GetNieRCharacterIcon())
self:AddRedPointEvent()
end
function XUiNierCharacter:OnEnable()
if XDataCenter.NieRManager.GetIsActivityEnd() then
XScheduleManager.ScheduleOnce(function()
XDataCenter.NieRManager.OnActivityEnd()
end, 1)
else
self.PanelCharacterTypeBtns:SelectIndex(self.CurToggleType)
end
end
function XUiNierCharacter:OnDisable()
end
function XUiNierCharacter:OnDestroy()
end
--添加点事件
function XUiNierCharacter:AddRedPointEvent()
XRedPointManager.AddRedPointEvent(self.BtnTabDangan, self.RefreshDanganRedDot, self,{ XRedPointConditions.Types.CONDITION_NIER_CHARACTER_RED }, {CharacterId = self.NieRCharacterId, IsInfor = true, IsTeach = false} )
XRedPointManager.AddRedPointEvent(self.RedJiaoxue, self.RefreshTeachRedDot, self,{ XRedPointConditions.Types.CONDITION_NIER_CHARACTER_RED }, {CharacterId = self.NieRCharacterId, IsInfor = false, IsTeach = true} )
self.RedPeiyang.gameObject:SetActive(false)
--self.RedJiaoxue.gameObject:SetActive(false)
end
--任务按钮红点
function XUiNierCharacter:RefreshDanganRedDot(count)
self.RedDangan.gameObject:SetActive(count >= 0)
end
--任务按钮红点
function XUiNierCharacter:RefreshTeachRedDot(count)
self.RedJiaoxue.gameObject:SetActive(count >= 0)
end
function XUiNierCharacter:OnBtnBackClick()
self:Close()
end
function XUiNierCharacter:OnBtnMainUiClick()
XLuaUiManager.RunMain()
end
function XUiNierCharacter:OnGetEvents()
return { XEventId.EVENT_FUBEN_ENTERFIGHT }
end
--事件监听
function XUiNierCharacter:OnNotify(evt, ...)
local args = { ... }
if evt == XEventId.EVENT_FUBEN_ENTERFIGHT then
self:EnterFight(args[1])
end
end
function XUiNierCharacter:EnterFight(stage)
if XDataCenter.FubenManager.OpenRoomSingle(stage) then
XLuaUiManager.Remove("UiFubenStageDetail")
end
end
function XUiNierCharacter:OnBtnTabPanelSelect(index)
if index == PANEL_INDEX.Foster then
self.UiPanelStory:HidePanel()
self.UiPanelTeaching:HidePanel()
self.UiPanelFoster:ShowPanel()
self.UiPanelFoster:InitAllData()
self.CurToggleType = PANEL_INDEX.Foster
elseif index == PANEL_INDEX.Story then
self.UiPanelFoster:HidePanel()
self.UiPanelTeaching:HidePanel()
self.UiPanelStory:ShowPanel()
self.UiPanelStory:InitAllInfo()
self.CurToggleType = PANEL_INDEX.Story
elseif index == PANEL_INDEX.Teaching then
self.UiPanelFoster:HidePanel()
self.UiPanelStory:HidePanel()
self.UiPanelTeaching:ShowPanel()
self.UiPanelTeaching:InitAllInfo()
self.CurToggleType = PANEL_INDEX.Teaching
end
end