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

69 lines
2.2 KiB
Lua

---@class WB_SelectTeam_C:UUserWidget
---@field CanvasPanel_Main UCanvasPanel
---@field NewButton_Reselect UNewButton
---@field NewButton_Team1 UNewButton
---@field NewButton_Team2 UNewButton
---@field TextBlock_SelectName UTextBlock
---@field TextBlock_Team1Name UTextBlock
---@field TextBlock_Team1SelectCount UTextBlock
---@field TextBlock_Team2Name UTextBlock
---@field TextBlock_Team2SelectCount UTextBlock
---@field WidgetSwitcher_IsSelected UWidgetSwitcher
--Edit Below--
local WB_SelectTeam = { bInitDoOnce = false }
function WB_SelectTeam:Construct()
self:LuaInit()
end
function WB_SelectTeam:LuaInit()
if self.bInitDoOnce then return end
self.bInitDoOnce = true
self.TextBlock_Team1Name:SetText(ProjectConfig.Team1Name)
self.TextBlock_Team2Name:SetText(ProjectConfig.Team2Name)
WidgetLibrary.BindButtonClicked(self.NewButton_Team1, self.SelectTeam1, self)
WidgetLibrary.BindButtonClicked(self.NewButton_Team2, self.SelectTeam2, self)
WidgetLibrary.BindButtonClicked(self.NewButton_Reselect, self.ShowSelf, self)
UGCEventSystem.AddListener(EventEnum.UpdatePlayerSelectedTeam, self.UpdatePlayerSelectedTeam, self)
self:ShowSelf()
end
function WB_SelectTeam:UpdatePlayerSelectedTeam()
local Team1, Team2 = UGCGameSystem.GameState:GetSelectedTeamCount()
self.TextBlock_Team1SelectCount:SetText(Team1 .. "/2")
self.TextBlock_Team2SelectCount:SetText(Team2 .. "/2")
end
function WB_SelectTeam:SelectTeam1()
UGCSendRPCSystem.ActorRPCNotify(nil, UGCGameSystem.GameState, "PlayerSelectTeam", UGCSystemLibrary.GetLocalPlayerKey(), true)
self.TextBlock_SelectName:SetText(ProjectConfig.Team1Name)
self:CloseSelf()
end
function WB_SelectTeam:SelectTeam2()
UGCSendRPCSystem.ActorRPCNotify(nil, UGCGameSystem.GameState, "PlayerSelectTeam", UGCSystemLibrary.GetLocalPlayerKey(), false)
self.TextBlock_SelectName:SetText(ProjectConfig.Team2Name)
self:CloseSelf()
end
function WB_SelectTeam:CloseSelf()
self.WidgetSwitcher_IsSelected:SetActiveWidgetIndex(1)
end
function WB_SelectTeam:ShowSelf()
self.WidgetSwitcher_IsSelected:SetActiveWidgetIndex(0)
end
-- function WB_SelectTeam:Tick(MyGeometry, InDeltaTime)
-- end
-- function WB_SelectTeam:Destruct()
-- end
return WB_SelectTeam