71 lines
2.7 KiB
Lua
71 lines
2.7 KiB
Lua
---@class WB_SettlementItem_C:UUserWidget
|
|
---@field ShowAnim UWidgetAnimation
|
|
---@field ShowDefensiveSuccess UWidgetAnimation
|
|
---@field Button_Result_AddFriend UButton
|
|
---@field Image_PlayerIcon UImage
|
|
---@field TextBlock_BreakThrough UTextBlock
|
|
---@field TextBlock_K UTextBlock
|
|
---@field TextBlock_PlayerName UTextBlock
|
|
---@field TextBlock_RankNum UTextBlock
|
|
---@field TextBlock_Score UTextBlock
|
|
---@field WidgetSwitcher_IsLocalPlayer UWidgetSwitcher
|
|
--Edit Below--
|
|
---@type WB_SettlementItem_C
|
|
local WB_SettlementItem = {
|
|
bInitDoOnce = false;
|
|
PlayerKey = -1;
|
|
bDefendSucceed = false;
|
|
};
|
|
|
|
function WB_SettlementItem:LuaInit()
|
|
if self.bInitDoOnce then
|
|
return;
|
|
end
|
|
self.bInitDoOnce = true;
|
|
WidgetLibrary.BindButtonClicked(self.Button_Result_AddFriend, self.AddFriend, self)
|
|
end
|
|
|
|
|
|
function WB_SettlementItem:InitRankInfo(InPlayerKey, RankNum)
|
|
UGCLogSystem.Log("[WB_SettlementItem_InitRankInfo]")
|
|
self:LuaInit()
|
|
self.PlayerKey = InPlayerKey
|
|
if self.PlayerKey == UGCSystemLibrary.GetLocalPlayerKey() then
|
|
self.WidgetSwitcher_IsLocalPlayer:SetActiveWidgetIndex(1)
|
|
self.Button_Result_AddFriend:SetVisibility(ESlateVisibility.Collapsed)
|
|
else
|
|
self.WidgetSwitcher_IsLocalPlayer:SetActiveWidgetIndex(0)
|
|
end
|
|
|
|
local PlayerName = UGCGameSystem.GameState:GetPlayerNameByPlayerKey(self.PlayerKey);
|
|
|
|
self.TextBlock_RankNum:SetText(tostring(RankNum));
|
|
self.TextBlock_PlayerName:SetText(PlayerName);
|
|
self.TextBlock_Score:SetText(tostring(PlayerScoreSystem.GetPlayerScore(InPlayerKey)))
|
|
self.TextBlock_K:SetText(tostring(PlayerScoreSystem.GetPlayerScoreDataFromType(InPlayerKey, PlacementModeConfig.AddScoreType.KillAddScore)))
|
|
self.TextBlock_BreakThrough:SetText(tostring(PlayerScoreSystem.GetPlayerScoreDataFromType(InPlayerKey, PlacementModeConfig.AddScoreType.EnterDefenseLineAddScore)))
|
|
|
|
self.bDefendSucceed = PlayerScoreSystem.GetPlayerScoreDataFromType(InPlayerKey, PlacementModeConfig.AddScoreType.DefendSucceedAddScore) > 0
|
|
|
|
UGCSystemLibrary.DownloadImageToUImage(self.Image_PlayerIcon, UGCGameSystem.GameState:GetHeadIconByPlayerKey(self.PlayerKey));
|
|
UGCEventSystem.SetTimer(self, self.ShowPanelAnim, 0.5 + RankNum * 0.3)
|
|
end
|
|
|
|
function WB_SettlementItem:ShowPanelAnim()
|
|
UGCLogSystem.Log("[WB_SettlementItem_ShowPanelAnim]")
|
|
self:PlayAnimation(self.ShowAnim, 0, 1, EUMGSequencePlayMode.Forward, 1.0)
|
|
if self.bDefendSucceed then
|
|
UGCEventSystem.SetTimer(self, function()
|
|
self:PlayAnimation(self.ShowDefensiveSuccess, 0, 1, EUMGSequencePlayMode.Forward, 1.0)
|
|
end, 1)
|
|
end
|
|
end
|
|
|
|
function WB_SettlementItem:AddFriend()
|
|
local TargetPlayerData = UGCGameSystem.GameState.PlayerPersonalInfos[self.PlayerKey]
|
|
if TargetPlayerData then
|
|
UGCGameSystem.AddFriend(TargetPlayerData.UID)
|
|
end
|
|
end
|
|
|
|
return WB_SettlementItem; |