4#include "CoreMinimal.h"
5#include <DeskSimV2/Signals/BasicSignal.h>
6#include "Engine/Texture2D.h"
8#include <DeskSimV2/Editor/EditorController.h>
9#include "EditorWidget.h"
10#include "ObjectWidget.h"
11#include "MainMenuWidget.h"
12#include "ScenarioWidget.h"
16#include <DeskSimV2/UI/LoginWidget.h>
18#include <DeskSimV2/SaveGame/SaveManager.h>
19#include "GameFramework/HUD.h"
20#include "EditorHUD.generated.h"
25 Train UMETA(DisplayName =
"Train"),
26 Railway UMETA(DisplayName =
"Railway"),
27 House UMETA(DisplayName =
"House"),
28 Signal UMETA(DisplayName =
"Signal"),
29 Other UMETA(DisplayName =
"Other"),
35 ATC UMETA(DisplayName =
"ATC"),
36 ERTMS UMETA(DisplayName =
"ERTMS"),
37 INFRASTRUKTUR UMETA(DisplayName =
"INFRASTRUKTUR"),
38 FEIL UMETA(DisplayName =
"FEIL"),
39 SKIFTING UMETA(DisplayName =
"SKIFTING"),
40 EKSTERN UMETA(DisplayName =
"EKSTERN"),
48 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"EditorHUD")
49 ECategoryBC Category = ECategoryBC::Train;
50 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"EditorHUD")
52 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"EditorHUD")
54 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"EditorHUD")
55 UTexture2D* Image =
nullptr;
56 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"EditorHUD")
57 TSubclassOf<AActor> ActorReference;
65 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"EditorHUD")
66 ECategoryMM Category = ECategoryMM::ATC;
67 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"EditorHUD")
69 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"EditorHUD")
71 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"EditorHUD")
82 TSubclassOf<AActor> ActorReference;
96 virtual void DrawHUD()
override;
97 virtual void BeginPlay()
override;
98 virtual void Tick(
float DeltaSeconds)
override;
100 void SetupEditorWidget();
101 void SetupMainMenuWidget();
102 void SetupLoginMenuWidget();
103 void SetupGameWidget();
104 void SetupPauseMenu();
112 TArray<FObjects> TrainBrowserContent;
114 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"EditorHUD")
117 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EditorHUD")
122 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Widgets")
123 TSubclassOf<class UUserWidget> EditorWidgetClass;
125 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Widgets")
126 TSubclassOf<class UUserWidget> ObjectWidgetClass;
128 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Widgets")
129 TSubclassOf<class UUserWidget> TopBarWidgetClass;
131 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Widgets")
132 TSubclassOf<class UUserWidget> MainMenuWidgetClass;
134 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Widgets")
135 TSubclassOf<class UUserWidget> LoginMenuWidgetClass;
137 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Widgets")
138 TSubclassOf<class UUserWidget> ScenarioWidgetClass;
140 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Widgets")
141 TSubclassOf<class UUserWidget> SettingsWidgetClass;
143 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Widgets")
144 TSubclassOf<class UUserWidget> TrainDMIWidgetClass;
146 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Widgets")
147 TSubclassOf<class UUserWidget> PauseMenuWidgetClass;
151 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Player Controller")
152 TSubclassOf<APlayerController> MainMenuController;
154 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Player Controller")
155 TSubclassOf<APlayerController> EditGameController;
157 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Player Controller")
158 TSubclassOf<APlayerController> GameController;
160 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Player Actor")
165 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Save Manager")
171 void UpdateTrainButtonClick();
174 void UpdateRailwayButtonClick();
177 void UpdateHouseButtonClick();
180 void UpdateSignalButtonClick();
183 void UpdateOtherButtonClick();
192 void SetToolTranslation();
195 void SetToolRotation();
202 void ChangeMenuMode();
207 void SetTrainDMI(
float Speed);
212 APlayerController* PC;
216 bool bMenuMode = true;
229 TArray<TSubclassOf<AActor>> ActorSources;
230 TArray<UTexture2D*> ImageSources;
232 EToolMode ControllerToolMode;
Gameinstance class containing some global info.
Definition: EditorController.h:21
Definition: EditorHUD.h:91
TArray< FString > ConfigTrain
Hardcoded Object code.
Definition: EditorHUD.h:111
Definition: SaveManager.h:11
The main menu widget.
Definition: MainMenuWidget.h:16
Definition: TrainDMI.h:16
The settings widget class.
Definition: settings.h:17
Definition: EditorHUD.h:45
Definition: EditorHUD.h:62
Definition: EditorHUD.h:77