2025-01-04 23:00:19 +08:00

62 lines
2.2 KiB
Lua

---@class WB_SelectChallenge_C:UUserWidget
---@field CanvasPanel_Main UCanvasPanel
---@field NewButton_Challenge UNewButton
---@field NewButton_Reselect UNewButton
---@field NewButton_Siege UNewButton
---@field TextBlock_ChallengeName UTextBlock
---@field TextBlock_ChallengeSelectCount UTextBlock
---@field TextBlock_SelectName UTextBlock
---@field TextBlock_SiegeName UTextBlock
---@field TextBlock_SiegeSelectCount UTextBlock
---@field WidgetSwitcher_IsSelected UWidgetSwitcher
--Edit Below--
local WB_SelectChallenge = { bInitDoOnce = false }
function WB_SelectChallenge:Construct()
self.TextBlock_ChallengeName:SetText(ProjectConfig.ChallengeName)
self.TextBlock_SiegeName:SetText(ProjectConfig.SiegeName)
WidgetLibrary.BindButtonClicked(self.NewButton_Challenge, self.SelectChallenge, self)
WidgetLibrary.BindButtonClicked(self.NewButton_Siege, self.SelectSiege, self)
WidgetLibrary.BindButtonClicked(self.NewButton_Reselect, self.ShowSelf, self)
UGCEventSystem.AddListener(EventEnum.UpdatePlayerSelectedChallenge, self.UpdatePlayerSelectedChallenge, self)
self:ShowSelf()
end
function WB_SelectChallenge:UpdatePlayerSelectedChallenge()
local ChallengeCount, SiegeCount = UGCGameSystem.GameState:GetSelectedChallengeCount()
self.TextBlock_ChallengeSelectCount:SetText(ChallengeCount .. "/1")
self.TextBlock_SiegeSelectCount:SetText(SiegeCount .. "/4")
end
function WB_SelectChallenge:SelectChallenge()
UGCSendRPCSystem.ActorRPCNotify(nil, UGCGameSystem.GameState, "PlayerSelectChallenge", UGCSystemLibrary.GetLocalPlayerKey(), true)
self.TextBlock_SelectName:SetText(ProjectConfig.ChallengeName)
self:CloseSelf()
end
function WB_SelectChallenge:SelectSiege()
UGCSendRPCSystem.ActorRPCNotify(nil, UGCGameSystem.GameState, "PlayerSelectChallenge", UGCSystemLibrary.GetLocalPlayerKey(), false)
self.TextBlock_SelectName:SetText(ProjectConfig.SiegeName)
self:CloseSelf()
end
function WB_SelectChallenge:CloseSelf()
self.WidgetSwitcher_IsSelected:SetActiveWidgetIndex(1)
end
function WB_SelectChallenge:ShowSelf()
self.WidgetSwitcher_IsSelected:SetActiveWidgetIndex(0)
end
-- function WB_SelectChallenge:Tick(MyGeometry, InDeltaTime)
-- end
-- function WB_SelectChallenge:Destruct()
-- end
return WB_SelectChallenge