72 lines
2.6 KiB
Lua
72 lines
2.6 KiB
Lua
---@class WBP_ForceGuide_Challenge_C:UUserWidget
|
|
---@field Button_ChallengeMonsterInfo UButton
|
|
---@field Button_RequestChallenge UButton
|
|
---@field Image_Challenge1_Mask UImage
|
|
---@field Panel_BG UWBP_WidgetHeader_C
|
|
---@field Panel_Tip_ChallengeMonsterInfo UCanvasPanel
|
|
---@field Panel_Tip_RequestChallenge UCanvasPanel
|
|
--Edit Below--
|
|
local WBP_ForceGuide_Challenge = { bInitDoOnce = false; };
|
|
|
|
function WBP_ForceGuide_Challenge:OnStartGuideProgress()
|
|
self:SetVisibility(ESlateVisibility.SelfHitTestInvisible)
|
|
|
|
self.Panel_BG:Construct()
|
|
|
|
self.Image_Challenge1_Mask:SetVisibility(ESlateVisibility.Visible)
|
|
|
|
self.Panel_Tip_ChallengeMonsterInfo:SetVisibility(ESlateVisibility.HitTestInvisible)
|
|
self.Panel_Tip_RequestChallenge:SetVisibility(ESlateVisibility.Collapsed)
|
|
|
|
self.HasClickedInfoButton = false
|
|
self.PendingEndGuide = false
|
|
|
|
self.Button_ChallengeMonsterInfo.OnClicked:Add(self.OnButton_ChallengeMonsterInfoClicked, self)
|
|
self.Button_RequestChallenge.OnClicked:Add(self.OnButton_RequestChallengeClicked, self)
|
|
|
|
EventSystem:SendEvent(EventType.ForceGuide_OnGuideTriggered, 8)
|
|
end
|
|
|
|
function WBP_ForceGuide_Challenge:OnEndGuideProgress()
|
|
self:SetVisibility(ESlateVisibility.Collapsed)
|
|
|
|
self.Button_ChallengeMonsterInfo.OnClicked:Remove(self.OnButton_ChallengeMonsterInfoClicked, self)
|
|
self.Button_RequestChallenge.OnClicked:Remove(self.OnButton_RequestChallengeClicked, self)
|
|
|
|
EventSystem:SendEvent(EventType.ForceGuide_OnGuideFinished, 8)
|
|
end
|
|
|
|
function WBP_ForceGuide_Challenge:OnButton_ChallengeMonsterInfoClicked()
|
|
self.Panel_Tip_ChallengeMonsterInfo:SetVisibility(ESlateVisibility.Collapsed)
|
|
self.Panel_Tip_RequestChallenge:SetVisibility(ESlateVisibility.HitTestInvisible)
|
|
self.Image_Challenge1_Mask:SetVisibility(ESlateVisibility.Collapsed)
|
|
|
|
self.HasClickedInfoButton = true
|
|
end
|
|
|
|
function WBP_ForceGuide_Challenge:OnButton_RequestChallengeClicked()
|
|
if self.HasClickedInfoButton == false then
|
|
return
|
|
end
|
|
|
|
if self.PendingEndGuide then
|
|
return
|
|
end
|
|
self.PendingEndGuide = true
|
|
|
|
if self.Timer ~= nil then
|
|
EventSystem.StopTimer(self.Timer)
|
|
end
|
|
self.Timer = EventSystem.SetTimer(self, function()
|
|
self:SetVisibility(ESlateVisibility.Collapsed)
|
|
self:OnEndGuideProgress()
|
|
EventSystem.StopTimer(self.Timer)
|
|
self.Timer = nil
|
|
end, 0.5)
|
|
|
|
local PC = GameDataManager.GetLocalPlayerController()
|
|
UnrealNetwork.CallUnrealRPC(PC, PC, "ServerRPC_ChallengeSucceed", 1, PC.PlayerKey, EMonsterType.ChallengeGold, 1, true)
|
|
end
|
|
|
|
|
|
return WBP_ForceGuide_Challenge; |