56 lines
1.8 KiB
Lua
56 lines
1.8 KiB
Lua
---@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; |