DeskSim v2 0.1
Train simulator prototype created for Lokførerskolen
ObjectWidget.h
1// Copyright 2022 Thomas Arinesalingam, John Ole Bjerke, Endre Heksum & Henrik Markengbakken Karlsen . All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "DraggedObject.h"
7#include "Blueprint/UserWidget.h"
8#include "Components/TextBlock.h"
9#include "Components/Image.h"
10#include "ObjectWidget.generated.h"
11
15UCLASS()
16class DESKSIMV2_API UObjectWidget : public UUserWidget
17{
18 GENERATED_BODY()
19
20public:
21 UObjectWidget(const FObjectInitializer& ObjectInitializer);
22
23 virtual FReply NativeOnMouseButtonDown(const FGeometry& InGeometry, const FPointerEvent& InMouseEvent) override;
24 virtual void NativeOnDragDetected(const FGeometry& InGeometry, const FPointerEvent& InMouseEvent, UDragDropOperation*& OutOperation) override;
25 virtual void NativeOnDragCancelled(const FDragDropEvent& InDragDropEvent, UDragDropOperation* InOperation) override;
26
27 UPROPERTY(EditAnywhere, BluePrintReadWrite, meta = (BindWidget))
28 class UImage* ImageObject;
29
30 UPROPERTY(EditAnywhere, BluePrintReadWrite, meta = (BindWidget))
31 class UTextBlock* TitleText;
32
33 UPROPERTY(EditAnywhere, BluePrintReadWrite, meta = (BindWidget))
34 class UTextBlock* DescriptionText;
35
36 UPROPERTY(EditAnyWhere, BlueprintReadWrite, meta = (BindWidget))
37 class UButton* ScenarioButton;
38
39 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Widgets")
40 TSubclassOf<class UUserWidget> DraggedObjectWidgetClass;
41
42 TSubclassOf<AActor> ReferencedActor;
43
44 APlayerController* PC;
45
46 // Set functions for the native members of the object widget.
47 void SetTitleText(FString Text);
48 void SetDescriptionText(FString Text);
49 void SetImageResource(UTexture2D* Texture);
50 void SetActorResource(TSubclassOf<AActor> Actor);
51
52 TArray<AActor*> AllActors;
53
54};
The Content browser asset holding class.
Definition: ObjectWidget.h:17