75 lines
No EOL
2.9 KiB
Lua
75 lines
No EOL
2.9 KiB
Lua
-- 白色情人节约会小游戏地点UI控件
|
|
local XUiWhiteValenPlace = XClass(nil, "XUiWhiteValenPlace")
|
|
|
|
function XUiWhiteValenPlace:Ctor(rootUi, ui, place)
|
|
XTool.InitUiObjectByUi(self, ui)
|
|
self.RootUi = rootUi
|
|
self.Place = place
|
|
self:Refresh()
|
|
self.BtnDispatch.CallBack = function() self:OnBtnDispatch() end
|
|
self.BtnReward.CallBack = function() self:OnBtnReward() end
|
|
end
|
|
|
|
function XUiWhiteValenPlace:Refresh()
|
|
if not self.Place:GetIsOpen() then self.GameObject:SetActiveEx(false) return end
|
|
self.TxtRank.text = self.Place:GetEventRankName()
|
|
self.AttrIcon:SetRawImage(self.Place:GetEventAttrIcon())
|
|
self.PanelReward.gameObject:SetActiveEx(self.Place:CheckCanFinishEvent())
|
|
self.PanelTime.gameObject:SetActiveEx(self.Place:GetIsDispatching())
|
|
self.TxtDispatchCountDown.text = self.Place:GetEventEndTimeString()
|
|
local dispatchingChara = self.Place:GetDispatchingChara()
|
|
self.RImgHead.gameObject:SetActiveEx(dispatchingChara ~= nil)
|
|
if dispatchingChara then self.RImgHead:SetRawImage(dispatchingChara:GetIconPath()) end
|
|
if self.Place:GetIsDispatching() then self:SetDispatchingTimer() end
|
|
self.BtnDispatch.gameObject:SetActiveEx(not self.Place:CheckCanFinishEvent())
|
|
self.BtnReward.gameObject:SetActiveEx(self.Place:CheckCanFinishEvent())
|
|
self.GameObject:SetActiveEx(true)
|
|
end
|
|
|
|
function XUiWhiteValenPlace:SetDispatchingTimer()
|
|
self.Timer = XScheduleManager.ScheduleForever(function()
|
|
local checkExist
|
|
local gameObject = self.GameObject
|
|
if gameObject and gameObject.Exist then
|
|
checkExist = function() return gameObject:Exist() end
|
|
end
|
|
if checkExist() then
|
|
self.TxtDispatchCountDown.text = self.Place:GetEventEndTimeString()
|
|
self.PanelTime.gameObject:SetActiveEx(self.Place:GetIsDispatching())
|
|
if not self.Place:GetIsDispatching() then
|
|
self:RemoveDispatchingTimer()
|
|
self:Refresh()
|
|
end
|
|
else
|
|
self:RemoveDispatchingTimer()
|
|
end
|
|
end, XScheduleManager.SECOND, 0)
|
|
end
|
|
|
|
function XUiWhiteValenPlace:RemoveDispatchingTimer()
|
|
if self.Timer then
|
|
XScheduleManager.UnSchedule(self.Timer)
|
|
self.Timer = nil
|
|
end
|
|
end
|
|
|
|
function XUiWhiteValenPlace:OnBtnDispatch()
|
|
if self.Place:GetIsDispatching() then
|
|
XLuaUiManager.Open("UiDialog",
|
|
CS.XTextManager.GetText("WhiteValentineCancelConfirm"),
|
|
CS.XTextManager.GetText("WhiteValentineCancelConfirmContent"),
|
|
XUiManager.DialogType.Normal,
|
|
nil,
|
|
function() XDataCenter.WhiteValentineManager.CancelDispatch(self.Place) end)
|
|
else
|
|
XLuaUiManager.Open("UiWhitedayReady", self.Place)
|
|
end
|
|
end
|
|
|
|
function XUiWhiteValenPlace:OnBtnReward()
|
|
if self.Place:CheckCanFinishEvent() then
|
|
XDataCenter.WhiteValentineManager.FinishEvent(self.Place)
|
|
end
|
|
end
|
|
|
|
return XUiWhiteValenPlace |