// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "CommonUserWidget.h" #include "LyraWeaponUserInterface.generated.h" class ULyraWeaponInstance; 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 CurrentInstance; };