UGCProjects/ProjectTemp_T/Script/UI/SelectSoldier/WB_ShowPlayerSelectSoldier.lua
2025-01-04 23:00:19 +08:00

56 lines
1.8 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---@class WB_ShowPlayerSelectSoldier_C:UUserWidget
---@field Image_head UImage
---@field TextBlock_SoldierName UTextBlock
---@field WidgetSwitcher_IsSelf UWidgetSwitcher
--Edit Below--
---@type WB_ShowPlayerSelectSoldier_C
local WB_ShowPlayerSelectSoldier = {
bInitDoOnce = false;
};
--[==[ Construct
function WB_ShowPlayerSelectSoldier:Construct()
end
-- Construct ]==]
-- function WB_ShowPlayerSelectSoldier:Tick(MyGeometry, InDeltaTime)
-- end
-- function WB_ShowPlayerSelectSoldier:Destruct()
-- end
function WB_ShowPlayerSelectSoldier:SetTargetPlayer(InPlayerKey)
self.TargetPlayerKey = InPlayerKey
--- 延迟设置头像防止GameState未同步下来
UGCEventSystem.SetTimerLoop(self, function()
local HeadIcon = UGCGameSystem.GameState:GetHeadIconByPlayerKey(self.TargetPlayerKey)
UGCSystemLibrary.DownloadImageToUImage(self.Image_head, HeadIcon);
end, 1.);
local TargetSoldierType = UGCGameSystem.GameState:GetSoldierTypeByPlayerKey(self.TargetPlayerKey)
if TargetSoldierType then
self.TextBlock_SoldierName:SetText(SoldierConfig.Chinese[TargetSoldierType])
end
if LocalPlayerKey == nil then
return;
end
if LocalPlayerKey == InPlayerKey then
self.WidgetSwitcher_IsSelf:SetActiveWidgetIndex(1)
else
self.WidgetSwitcher_IsSelf:SetActiveWidgetIndex(0)
end
UGCEventSystem.AddListener(EventTypes.SelectSoldierType, self.UpdatePlayerSoldierType, self);
end
function WB_ShowPlayerSelectSoldier:UpdatePlayerSoldierType(PlayerSoldierType)
local TargetSoldierType = PlayerSoldierType[self.TargetPlayerKey]
if TargetSoldierType then
self.TextBlock_SoldierName:SetText(SoldierConfig.Chinese[TargetSoldierType])
end
end
return WB_ShowPlayerSelectSoldier;