KLingo Project Documentation 1.0.0
Unreal Engine 5.6 C++ Project Documentation
로딩중...
검색중...
일치하는것 없음
ChatWidget.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"
7#include "ChatWidget.generated.h"
8
12UCLASS()
13class ONEPIECE_API UChatWidget : public UUserWidget
14{
15 GENERATED_BODY()
16
17public:
18 UChatWidget(const FObjectInitializer& ObjectInitializer);
19 virtual void NativeConstruct() override;
20 virtual void NativeTick(const FGeometry& MyGeometry, float InDeltaTime) override;
21
22 UFUNCTION()
23 void SendMessage(FResponseUserMe sendUser, FText inMessage, int32 PlayerIndex);
24
25 void FocusInput();
26 void OnInputFocusChanged(bool bHasFocus);
27
28protected:
29 UPROPERTY(meta=(BindWidget))
30 TObjectPtr<class UVerticalBox> VerticalBox_Content;
31
32 UPROPERTY(meta=(BindWidget))
33 TObjectPtr<class USizeBox> SizeBox_Chat;
34
35 UPROPERTY(meta=(BindWidget))
36 TObjectPtr<class UScrollBox> ScrollBox_ChatBox;
37
38 UPROPERTY(meta=(BindWidget))
39 TObjectPtr<class USpacer> Spacer_Content;
40
41 UPROPERTY(meta=(BindWidget))
42 TObjectPtr<class UChatInputBox> ChatInputBox;
43
44protected:
45 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
46 TSubclassOf<class UChatBoxWidget> LeftChatBoxWidgetClass;
47
48 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
49 TSubclassOf<class UChatBoxWidget> RightChatBoxWidgetClass;
50
51private:
52 class UChatBoxWidget* CreateChatBox(bool bIsSender);
53 void StartFadeOutTimer();
54 void OnFadeOutTimerComplete();
55
56 // 페이드 아웃 타이머
57 FTimerHandle FadeOutTimerHandle;
58
59 // 페이드 상태
60 bool bIsFading = false;
61 float CurrentOpacity = 1.0f;
62 float TargetOpacity = 1.0f;
63
64 // 페이드 속도 (초당 변화량)
65 float FadeSpeed = 2.0f;
66
67 // 자동 숨김 대기 시간
68 float AutoHideDelay = 5.0f;
69};