---@class WB_HuntingMarkEnemy_C:UUserWidget ---@field CanvasPanel_Child UCanvasPanel ---@field Image_1 UImage --Edit Below-- local WB_HuntingMarkEnemy = { bInitDoOnce = false; }; --[==[ Construct function WB_HuntingMarkEnemy:Construct() end -- Construct ]==] function WB_HuntingMarkEnemy:Tick(MyGeometry, InDeltaTime) --UGCLogSystem.Log("[WB_HuntingMarkEnemy_Tick]") local IsTrace = false if self.TracePlayerKey then --UGCLogSystem.Log("[WB_HuntingMarkEnemy_Tick]22222222222222222222222222222222222222222222222222222222") if UGCGameSystem.GameState and UGCGameSystem.GameState:IsHuntTime() then local Pawn = UGCGameSystem.GetPlayerPawnByPlayerKey(self.TracePlayerKey) --UGCLogSystem.Log("[WB_HuntingMarkEnemy_Tick] 1") if Pawn and not UGCPawnSystem.HasPawnState(Pawn, EPawnState.Dead) then --UGCLogSystem.Log("[WB_HuntingMarkEnemy_Tick] 2") local PlayerPos if UE.IsValid(Pawn.Mesh) then PlayerPos = Pawn.Mesh:GetSocketLocation("spine_03") UGCLogSystem.Log("[WB_HuntingMarkEnemy_Tick] PlayerPos:%s", VectorHelper.ToString(PlayerPos)) else PlayerPos = Pawn:K2_GetActorLocation() PlayerPos.Z = PlayerPos.Z + 30 UGCLogSystem.Log("[WB_HuntingMarkEnemy_Tick] PlayerPos22:%s", VectorHelper.ToString(PlayerPos)) end local Succeed, Pos2D = WidgetLayoutLibrary.ProjectWorldLocationToWidgetPosition(UGCSystemLibrary.GetLocalPlayerController(), PlayerPos) if Succeed then --UGCLogSystem.Log("[WB_HuntingMarkEnemy_Tick] 3 Pos2D:%s", VectorHelper.ToString2D(Pos2D)) IsTrace = true local CanvasSlot = WidgetLayoutLibrary.SlotAsCanvasSlot(self.CanvasPanel_Child) CanvasSlot:SetPosition(Pos2D) end end end end self:SetTraceUIVis(IsTrace) end -- function WB_HuntingMarkEnemy:Destruct() -- end function WB_HuntingMarkEnemy:SetTracePlayerKey(InPlayerKey) UGCLogSystem.Log("[WB_HuntingMarkEnemy_SetTracePlayerKey] InPlayerKey:%s", tostring(InPlayerKey)) self.TracePlayerKey = InPlayerKey end function WB_HuntingMarkEnemy:SetTraceUIVis(InIsVis) if self.IsVis ~= InIsVis then self.IsVis = InIsVis if self.IsVis then self.CanvasPanel_Child:SetVisibility(ESlateVisibility.HitTestInvisible); else self.CanvasPanel_Child:SetVisibility(ESlateVisibility.Collapsed); end end end return WB_HuntingMarkEnemy;