LEAP Documentation 40220
Documentation for the LEAP project
GameInstanceLoadingScreen.h
Go to the documentation of this file.
1// Copyright Blue Isle Studios Inc 2018. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "VivoxGameInstance.h"
7#include "Engine/GameInstance.h"
8#include "Styling/SlateBrush.h"
9#include "Fonts/SlateFontInfo.h"
10#include "Runtime/Engine/Public/TimerManager.h"
11#include "GameInstanceLoadingScreen.generated.h"
12
16UCLASS()
18{
19 GENERATED_BODY()
20
21public:
22 virtual void Init() override;
23 virtual void UpdateLevelInfoList();
24
25 const TArray<const class ULevelInfo*>& GetLevelInfoList() const { return LevelInfoList; }
26
27public:
28 virtual void BeginLoadingScreen(const FString& InMapName);
29 virtual void EndLoadingScreen(class UWorld* InLoadedWorld);
30
31 virtual void CheckFadeScreen(TWeakObjectPtr<UWorld> InLoadedWorld);
32 virtual void LoadComplete(const float LoadTime, const FString& MapName) override;
33
34 UFUNCTION()
35 virtual void RemoveLoadingScreen();
36 UFUNCTION(BlueprintCallable)
37 void UpdateUseLoadingScreen(bool bNewUseLoadingScreen) { bUseLoadingScreen = bNewUseLoadingScreen; }
38 UFUNCTION(BlueprintCallable)
39 void FadeScreen(const float inFadeDuration, const bool bInToBlack, const float inFadeDelay = 0.0f, const bool bInForceFadeToBlack = false);
40 UFUNCTION(BlueprintCallable)
41 bool IsFading() const;
42
43protected:
44 TSharedPtr<class SProjectXLoadingScreen> LoadingScreenSlateWidget;
45
46 UPROPERTY(EditDefaultsOnly, Category = LoadingScreen)
47 FSlateBrush LoadingScreenBackground;
48 UPROPERTY(EditDefaultsOnly, Category = LoadingScreen)
49 FSlateBrush LoadingScreenForeground;
50 UPROPERTY(EditDefaultsOnly, Category = LoadingScreen)
51 FSlateBrush LoadingScreenLoadIcon;
52 UPROPERTY(EditDefaultsOnly, Category = LoadingScreen)
53 FSlateBrush MiddleGroundTitleBrush;
54 UPROPERTY(EditDefaultsOnly, Category = LoadingScreen)
55 FSlateBrush LoadingScreenFrame;
56 UPROPERTY(EditDefaultsOnly, Category = LoadingScreen)
57 FSlateBrush MapTitleBackground;
58 UPROPERTY(EditDefaultsOnly, Category = LoadingScreen)
59 FSlateFontInfo LoadingScreenLevelNameFont;
60 UPROPERTY(EditDefaultsOnly, Category = LoadingScreen)
61 FSlateFontInfo LoadingScreenLevelSizeFont;
62 UPROPERTY(EditDefaultsOnly, Category = LoadingScreen)
63 FSlateFontInfo LoadingScreenAuthorNameFont;
64 UPROPERTY(EditDefaultsOnly, Category = LoadingScreen)
65 FSlateFontInfo LoadingScreenDescriptionFont;
66 UPROPERTY(EditDefaultsOnly, Category = LoadingScreen)
67 FSlateFontInfo MapDescriptionFont;
68 UPROPERTY(EditDefaultsOnly, Category = LoadingScreen)
69 FSlateColor LevelNameColor;
70 UPROPERTY(EditDefaultsOnly, Category = LoadingScreen)
71 FSlateColor ModeColor;
72 UPROPERTY(EditDefaultsOnly, Category = LoadingScreen)
73 FSlateColor DescriptionColor;
74 UPROPERTY(EditDefaultsOnly, Category = LoadingScreen)
75 FText DefaultLevelName = FText::FromString("Untitled Level");
76 UPROPERTY(EditDefaultsOnly, Category = LoadingScreen)
77 FText DefaultAuthorName = FText::FromString("None");
78 UPROPERTY(EditDefaultsOnly, Category = LoadingScreen)
79 FText DefaultDescription = FText::FromString("");
80 UPROPERTY(EditDefaultsOnly, Category = LoadingScreen)
81 FText DefaultMapDescription = FText::FromString("");
82 UPROPERTY(EditDefaultsOnly, Category = LoadingScreen)
83 FText DefaultLevelSize = FText::FromString("");
84 UPROPERTY()
85 FTimerHandle RemoveLoadingScreenTimer;
86
87 bool bUseLoadingScreen = false;
88 UPROPERTY()
89 TArray<const class ULevelInfo*> LevelInfoList;
90
91};
Definition: GameInstanceLoadingScreen.h:18
const TArray< const class ULevelInfo * > & GetLevelInfoList() const
Definition: GameInstanceLoadingScreen.h:25
TSharedPtr< class SProjectXLoadingScreen > LoadingScreenSlateWidget
Definition: GameInstanceLoadingScreen.h:44
Definition: LevelInfo.h:14
Definition: VivoxGameInstance.h:79
const FName None
Definition: ProjectXGameInstance.h:110