KLingo Project Documentation 1.0.0
Unreal Engine 5.6 C++ Project Documentation
로딩중...
검색중...
일치하는것 없음
CompassWidget.h
이 파일의 문서화 페이지로 가기
1// Copyright (c) 2025 Doppleddiggong. All rights reserved. Unauthorized copying, modification, or distribution of this file, via any medium is strictly prohibited. Proprietary and confidential.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "Blueprint/UserWidget.h"
8#include "CompassWidget.generated.h"
9
14USTRUCT(BlueprintType)
16{
17 GENERATED_BODY()
18
20 float RotationAtTarget;
21
22};
23
24UCLASS()
25class ONEPIECE_API UCompassWidget : public UUserWidget
26{
27 GENERATED_BODY()
28
29protected:
30 virtual void NativeConstruct() override;
31
32public:
33 UPROPERTY(meta = (BindWidget))
34 class UCanvasPanel* Pnl_Compass;
35
36 UPROPERTY(meta = (BindWidget))
37 class UImage* Img_Compass;
38
39 UFUNCTION(BlueprintCallable)
40 void RotateCompass(float ZRotation);
41
42 UPROPERTY(VisibleAnywhere, BlueprintReadOnly)
43 TArray<UImage*> Markers;
44
45 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Compass|Markers")
46 TMap<ECompassMarkerType, UTexture2D*> MarkerTextureMap;
47
49 UPROPERTY()
50 TMap<UImage*, class UTextBlock*> MarkerDistanceMap;
51
52 // 마커 이미지 설정
53 UImage* AddCompassMarker(ECompassMarkerType MarkerType);
54 UTexture2D* GetTextureForMarkerType(ECompassMarkerType MarkerType);
55 // 마커 회전값
56 void SetMarkerPosition(UImage* InMarker, float TargetRotation, bool bSideLock);
58 void SetMarkerDistance(UImage* InMarker, float Distance);
60 void SetMarkerVisibility(UImage* InMarker, ESlateVisibility InVisibility);
61 // 마커들 업데이트
62 //void UpdateCompassMarkers(TArray<FCompassInfo>& CompassInfos);
63};
ECompassMarkerType