RealtimeStyleTransferRuntime/Source/LyraGame/UI/Weapons/LyraWeaponUserInterface.h

37 lines
928 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CommonUserWidget.h"
#include "UObject/ObjectPtr.h"
#include "UObject/UObjectGlobals.h"
#include "LyraWeaponUserInterface.generated.h"
class ULyraWeaponInstance;
class UObject;
struct FGeometry;
UCLASS()
class ULyraWeaponUserInterface : public UCommonUserWidget
{
GENERATED_BODY()
public:
ULyraWeaponUserInterface(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get());
virtual void NativeConstruct() override;
virtual void NativeDestruct() override;
virtual void NativeTick(const FGeometry& MyGeometry, float InDeltaTime) override;
UFUNCTION(BlueprintImplementableEvent)
void OnWeaponChanged(ULyraWeaponInstance* OldWeapon, ULyraWeaponInstance* NewWeapon);
private:
void RebuildWidgetFromWeapon();
private:
UPROPERTY(Transient)
TObjectPtr<ULyraWeaponInstance> CurrentInstance;
};