89 lines
3.3 KiB
Lua
89 lines
3.3 KiB
Lua
|
local XUiEpicFashionGachaQuickWear = XLuaUiManager.Register(XLuaUi, "UiEpicFashionGachaQuickWear")
|
|||
|
|
|||
|
function XUiEpicFashionGachaQuickWear:OnAwake()
|
|||
|
self:InitButton()
|
|||
|
end
|
|||
|
|
|||
|
function XUiEpicFashionGachaQuickWear:InitButton()
|
|||
|
XUiHelper.RegisterClickEvent(self, self.BtnClose, self.Close)
|
|||
|
XUiHelper.RegisterClickEvent(self, self.BtnWear, self.OnBtnWearClick)
|
|||
|
XUiHelper.RegisterClickEvent(self, self.BtnSetAssistant, self.OnBtnSetAssistantClick)
|
|||
|
end
|
|||
|
|
|||
|
function XUiEpicFashionGachaQuickWear:OnStart(templateId, titleTxt)
|
|||
|
self.FashionId = templateId
|
|||
|
if not string.IsNilOrEmpty(titleTxt) then
|
|||
|
self.TxtDesc.text = titleTxt
|
|||
|
end
|
|||
|
end
|
|||
|
|
|||
|
function XUiEpicFashionGachaQuickWear:OnEnable()
|
|||
|
local grid = XUiGridCommon.New(self, self.GridFashion)
|
|||
|
grid:Refresh({TemplateId = self.FashionId})
|
|||
|
|
|||
|
-- 穿戴按钮
|
|||
|
local config = XFashionConfigs.GetAllConfigs(XFashionConfigs.TableKey.Fashion)
|
|||
|
local charId = nil
|
|||
|
for k, v in pairs(config) do
|
|||
|
if v.Id == self.FashionId then
|
|||
|
charId = v.CharacterId
|
|||
|
end
|
|||
|
end
|
|||
|
self.CharacterId = charId
|
|||
|
if not XTool.IsNumberValid(charId) or not XDataCenter.CharacterManager.IsOwnCharacter(charId) then
|
|||
|
self.BtnWear:SetDisable(true)
|
|||
|
self.LockUse = true
|
|||
|
end
|
|||
|
|
|||
|
-- 首席按钮
|
|||
|
if XPlayer.DisplayCharIdList[1] == charId or not XDataCenter.CharacterManager.IsOwnCharacter(charId) then
|
|||
|
self.BtnSetAssistant.gameObject:SetActiveEx(false)
|
|||
|
end
|
|||
|
end
|
|||
|
|
|||
|
function XUiEpicFashionGachaQuickWear:OnBtnWearClick()
|
|||
|
if self.IsWore then
|
|||
|
return
|
|||
|
end
|
|||
|
|
|||
|
self.BtnWear:SetDisable(true)
|
|||
|
if self.LockUse then
|
|||
|
local charConfig = XCharacterConfigs.GetCharacterTemplate(self.CharacterId)
|
|||
|
local text = CS.XTextManager.GetText("LottoKareninaNotOwnTip", charConfig.Name, charConfig.TradeName)
|
|||
|
XUiManager.TipError(text)
|
|||
|
return
|
|||
|
end
|
|||
|
|
|||
|
XDataCenter.FashionManager.UnlockFashion(self.FashionId, function ()
|
|||
|
XDataCenter.FashionManager.UseFashion(self.FashionId, function()
|
|||
|
XUiManager.TipText("UseSuccess")
|
|||
|
self.IsWore = true
|
|||
|
end)
|
|||
|
end)
|
|||
|
end
|
|||
|
|
|||
|
function XUiEpicFashionGachaQuickWear:OnBtnSetAssistantClick()
|
|||
|
self.BtnSetAssistant.gameObject:SetActiveEx(false)
|
|||
|
|
|||
|
local showTipFun = function ()
|
|||
|
local charConfig = XCharacterConfigs.GetCharacterTemplate(self.CharacterId)
|
|||
|
local name = charConfig.Name.. ": "..charConfig.TradeName
|
|||
|
XUiManager.TipMsg(CS.XTextManager.GetText("FavorabilitySetChiefAssistSucc", name))
|
|||
|
end
|
|||
|
|
|||
|
if table.contains(XPlayer.DisplayCharIdList, self.CharacterId) then -- 如果在队列
|
|||
|
XDataCenter.DisplayManager.SetDisplayCharIdFirstRequest(self.CharacterId, showTipFun)
|
|||
|
else
|
|||
|
-- 不在队列有两种情况
|
|||
|
-- 1队列没满,先入队再设为首席
|
|||
|
if #XPlayer.DisplayCharIdList < CS.XGame.Config:GetInt("AssistantNum") then
|
|||
|
XDataCenter.DisplayManager.AddPlayerDisplayCharIdRequest(self.CharacterId, function ()
|
|||
|
XDataCenter.DisplayManager.SetDisplayCharIdFirstRequest(self.CharacterId, showTipFun)
|
|||
|
end)
|
|||
|
else
|
|||
|
-- 2队列已满,直接空降替换首席
|
|||
|
local oldCharId = XPlayer.DisplayCharIdList[1]
|
|||
|
XDataCenter.DisplayManager.UpdatePlayerDisplayCharIdRequest(oldCharId, self.CharacterId, showTipFun)
|
|||
|
end
|
|||
|
end
|
|||
|
end
|