// Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "Blueprint/UserWidget.h" #include "SharedDef.h" #include "GameUserWidget.generated.h" class UCaptureSettingsUserWidget; class USelectGoalUserWidget; class UAllRandomUserWidget; /** * */ UCLASS() class LUCKYWORLDV2_API UGameUserWidget : public UUserWidget { GENERATED_BODY() protected: virtual void NativeConstruct() override; public: FTimerHandle UpdateDownCountTimerHandle; public: UPROPERTY(EditAnywhere, BlueprintReadWrite) bool bIsCrash; UPROPERTY(EditAnywhere, BlueprintReadWrite) bool bIsGoalMenuVis; UPROPERTY(EditAnywhere, BlueprintReadWrite) bool bIsTracing; UPROPERTY(EditAnywhere, BlueprintReadWrite) int32 DownCount = 0; UPROPERTY(EditAnywhere, BlueprintReadWrite) FString DownCountStr; public: UFUNCTION(BlueprintCallable) void DoWaitSecond(); UFUNCTION(BlueprintCallable) void ToggleHide(); UFUNCTION(BlueprintCallable) void ToggleTestMode(); UFUNCTION(BlueprintCallable) void DoCapture(); UFUNCTION(BlueprintCallable) void DoAutoConfirm(); UFUNCTION(BlueprintCallable) void DoReset(); UFUNCTION(BlueprintCallable) void DoExit(); UFUNCTION(BlueprintCallable) void SwitchGamePaused(); UFUNCTION(BlueprintCallable) void ToggleShowPath(); void UpdateDownCount(); UFUNCTION() void OnStartTracing(); UFUNCTION() void OnEndTracing(); public: UFUNCTION(BlueprintCallable, BlueprintImplementableEvent) void DoLogItemAdd(const FString& Topic, const FString& MsgText, ELogItemType LogItemType); UFUNCTION(BlueprintPure, BlueprintImplementableEvent) UCaptureSettingsUserWidget* GetCaptureSettingsUserWidget(); UFUNCTION(BlueprintPure, BlueprintImplementableEvent) USelectGoalUserWidget* GetSelectGoalUserWidget(); UFUNCTION(BlueprintPure, BlueprintImplementableEvent) UAllRandomUserWidget* GetAllRandomUserWidget(); UFUNCTION(BlueprintCallable, BlueprintImplementableEvent) void BPPlayShowTipAnimation(); };