---@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;