122 lines
3.7 KiB
Lua
122 lines
3.7 KiB
Lua
---@class WB_Main_C:UAEUserWidget
|
|
---@field ShowScore UWidgetAnimation
|
|
---@field Button_FaceNotice UButton
|
|
---@field CanvasPanel_Prepare UCanvasPanel
|
|
---@field TextBlock_Prepare UTextBlock
|
|
---@field WB_BuffButton UWB_BuffButton_C
|
|
---@field WB_HoldProcess UWB_HoldProcess_C
|
|
---@field WB_PlayerScores UWB_PlayerScores_C
|
|
---@field WB_PlayerSoldiers UWB_PlayerSoldiers_C
|
|
---@field WB_RoundEnd UWB_RoundEnd_C
|
|
---@field WB_SelectParts UWB_SelectParts_C
|
|
---@field WB_SelectWeaponButton UWB_SelectWeaponButton_C
|
|
---@field WB_TestMain UWB_TestMain_C
|
|
---@field WB_Title1 UWB_Title1_C
|
|
--Edit Below--
|
|
---@type WB_Main_C
|
|
local WB_Main = { bInitDoOnce = false; };
|
|
|
|
WB_Main.BuffButtons = {};
|
|
|
|
function WB_Main:Construct()
|
|
UGCEventSystem.AddListener(EventTypes.ChangeBuffs, self.OnChangeBuffs, self)
|
|
UITool.ButtonOnClickShowPanel(self.Button_FaceNotice, WidgetConfig.EUIType.FaceNotice, true);
|
|
|
|
if DefaultSettings.EnableTest then
|
|
self.WB_TestMain:LuaInit();
|
|
else
|
|
self.WB_TestMain:SetVisibility(ESlateVisibility.Collapsed);
|
|
end
|
|
self.WB_RoundEnd:LuaInit();
|
|
if self.WB_Title1 then
|
|
self.WB_Title1:LuaInit();
|
|
self.WB_Title1:SetOwner(self, self.OnShowScore);
|
|
end
|
|
self.CanvasPanel_Prepare:SetVisibility(ESlateVisibility.Collapsed);
|
|
UIManager:Register("WB_Main", self);
|
|
UIManager:Register("WB_BuffButton", self.WB_BuffButton);
|
|
UIManager:Register("WB_SelectWeaponButton", self.WB_SelectWeaponButton);
|
|
UIManager:Register("WB_PlayerSoldiers", self.WB_PlayerSoldiers);
|
|
UIManager:Register("WB_HoldProcess", self.WB_HoldProcess);
|
|
UIManager:Register("WB_PlayerScores", self.WB_PlayerScores);
|
|
|
|
self.WB_SelectWeaponButton:LuaInit();
|
|
self.WB_SelectWeaponButton:SetVisibility(ESlateVisibility.Collapsed);
|
|
self.WB_PlayerSoldiers:LuaInit();
|
|
self.WB_HoldProcess:SetVisibility(ESlateVisibility.Collapsed);
|
|
self.WB_HoldProcess:LuaInit();
|
|
|
|
UGCEventSystem.SetTimer(self, function()
|
|
self:OnShowScore();
|
|
end, 5);
|
|
end
|
|
|
|
--function WB_Main:Tick(MyGeometry, InDeltaTime)
|
|
--end
|
|
|
|
function WB_Main:Destruct()
|
|
UGCEventSystem.RemoveListener(EventTypes.ChangeBuffs, self.OnChangeBuffs, self);
|
|
end
|
|
|
|
WB_Main.IsShowScore = true;
|
|
|
|
function WB_Main:OnShowScore()
|
|
self.IsShowScore = not self.IsShowScore;
|
|
if self.IsShowScore then
|
|
self:PlayAnimation(self.ShowScore, 0, 1, EUMGSequencePlayMode.Forward, 1)
|
|
else
|
|
self:PlayAnimation(self.ShowScore, 0, 1, EUMGSequencePlayMode.Reverse, 1);
|
|
end
|
|
end
|
|
|
|
WB_Main.DotCount = 0;
|
|
|
|
function WB_Main:OnPrepareTick()
|
|
self.DotCount = (self.DotCount + 1) % 3;
|
|
local Str = "游戏准备中."
|
|
for i = 1, self.DotCount do Str = Str .. '.' end
|
|
self.TextBlock_Prepare:SetText(Str);
|
|
end
|
|
|
|
WB_Main.IsShowDetail = false;
|
|
|
|
function WB_Main:OnGameStart()
|
|
UGCLogSystem.Log("[WB_Main:OnGameStart] 执行")
|
|
self.CanvasPanel_Prepare:SetVisibility(ESlateVisibility.Collapsed);
|
|
GlobalTickTool:RemoveCustomTick(self);
|
|
self.DotCount = nil;
|
|
--WidgetManager:ClosePanel(WidgetConfig.EUIType.FaceNotice);
|
|
end
|
|
|
|
WB_Main.ShowRoundWinTimer = nil;
|
|
|
|
function WB_Main:ShowRoundWin(IsShow, Winner)
|
|
if IsShow then
|
|
self.WB_RoundEnd:SetVisibility(ESlateVisibility.HitTestInvisible);
|
|
self.WB_RoundEnd:SetWin(Winner == LocalPlayerKey);
|
|
-- 定时关闭
|
|
UGCEventSystem.SetTimer(self, function()
|
|
self.WB_RoundEnd:SetVisibility(ESlateVisibility.Collapsed);
|
|
end, 10);
|
|
else
|
|
self.WB_RoundEnd:SetVisibility(ESlateVisibility.Collapsed);
|
|
if self.ShowRoundWinTimer ~= nil then
|
|
UGCEventSystem.StopTimer(self.ShowRoundWinTimer);
|
|
self.ShowRoundWinTimer = nil;
|
|
end
|
|
end
|
|
end
|
|
|
|
function WB_Main:OnChangeBuffs(InPlayerKey, InBuffs)
|
|
if table.isEmpty(InBuffs) then
|
|
for i, v in pairs(self.BuffButtons) do
|
|
v:SetVisibility(ESlateVisibility.Collapsed);
|
|
end
|
|
end
|
|
for i, v in pairs(self.BuffButtons) do
|
|
v:SetBuffType(InBuffs[i]);
|
|
v:SetVisibility(ESlateVisibility.Visible);
|
|
end
|
|
end
|
|
|
|
return WB_Main; |