Compare commits
8 Commits
d572a9b177
...
af60880d17
Author | SHA1 | Date | |
---|---|---|---|
af60880d17 | |||
2768e84d66 | |||
d43b8c8df3 | |||
f8a18b2e8d | |||
a8aeedf7ce | |||
44e6876a8c | |||
26d6f2affa | |||
447459d982 |
@ -17,24 +17,23 @@ class VAMPIRES_API UGameOverWidget : public UVampireInteractiveWidget
|
|||||||
{
|
{
|
||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
|
|
||||||
protected:
|
UPROPERTY(meta=(BindWidget))
|
||||||
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
|
|
||||||
TObjectPtr<UButton> ReturnButton;
|
TObjectPtr<UButton> ReturnButton;
|
||||||
|
|
||||||
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
|
UPROPERTY(meta = (BindWidget))
|
||||||
TObjectPtr <UTextBlock> ReturnBlock;
|
TObjectPtr<UTextBlock> ReturnBlock;
|
||||||
|
|
||||||
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
|
UPROPERTY(meta = (BindWidget))
|
||||||
TObjectPtr <UTextBlock> LevelBlock;
|
TObjectPtr<UTextBlock> LevelBlock;
|
||||||
|
|
||||||
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
|
UPROPERTY(meta = (BindWidget))
|
||||||
TObjectPtr <UTextBlock> TimerBlock;
|
TObjectPtr<UTextBlock> TimerBlock;
|
||||||
|
|
||||||
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
|
UPROPERTY(meta = (BindWidget))
|
||||||
TObjectPtr <UTextBlock> KillBlock;
|
TObjectPtr<UTextBlock> KillBlock;
|
||||||
|
|
||||||
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
|
UPROPERTY(meta = (BindWidget))
|
||||||
TObjectPtr <UTextBlock> GoldBlock;
|
TObjectPtr<UTextBlock> GoldBlock;
|
||||||
|
|
||||||
virtual void NativeConstruct() override;
|
virtual void NativeConstruct() override;
|
||||||
|
|
||||||
|
@ -5,10 +5,6 @@
|
|||||||
#include "Components/ProgressBar.h"
|
#include "Components/ProgressBar.h"
|
||||||
#include "Components/TextBlock.h"
|
#include "Components/TextBlock.h"
|
||||||
|
|
||||||
void UHUDWidget::Init()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void UHUDWidget::UpdateEXPBar(float CurrentLevelPercent)
|
void UHUDWidget::UpdateEXPBar(float CurrentLevelPercent)
|
||||||
{
|
{
|
||||||
EXPbar->SetPercent(CurrentLevelPercent);
|
EXPbar->SetPercent(CurrentLevelPercent);
|
||||||
|
@ -16,24 +16,21 @@ class VAMPIRES_API UHUDWidget : public UUserWidget
|
|||||||
{
|
{
|
||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
|
|
||||||
protected:
|
UPROPERTY(meta = (BindWidget))
|
||||||
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
|
|
||||||
UProgressBar* EXPbar;
|
UProgressBar* EXPbar;
|
||||||
|
|
||||||
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
|
UPROPERTY(meta = (BindWidget))
|
||||||
UTextBlock* LevelBlock;
|
UTextBlock* LevelBlock;
|
||||||
|
|
||||||
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
|
UPROPERTY(meta = (BindWidget))
|
||||||
UTextBlock* TimerBLock;
|
UTextBlock* TimerBLock;
|
||||||
|
|
||||||
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
|
UPROPERTY(meta = (BindWidget))
|
||||||
UTextBlock* KillBLock;
|
UTextBlock* KillBLock;
|
||||||
|
|
||||||
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
|
UPROPERTY(meta = (BindWidget))
|
||||||
UTextBlock* GoldBLock;
|
UTextBlock* GoldBLock;
|
||||||
|
|
||||||
void Init();
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
void UpdateEXPBar(float CurrentLevelPercent);
|
void UpdateEXPBar(float CurrentLevelPercent);
|
||||||
|
@ -17,19 +17,17 @@ class VAMPIRES_API ULevelUpWidget : public UVampireInteractiveWidget
|
|||||||
{
|
{
|
||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
|
|
||||||
protected:
|
UPROPERTY(meta=(BindWidget))
|
||||||
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
|
|
||||||
TObjectPtr<UButton> ResumeButton;
|
TObjectPtr<UButton> ResumeButton;
|
||||||
|
|
||||||
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
|
UPROPERTY(meta=(BindWidget))
|
||||||
TObjectPtr<UTextBlock> ResumeTextBlock;
|
TObjectPtr<UTextBlock> ResumeTextBlock;
|
||||||
|
|
||||||
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
|
UPROPERTY(meta=(BindWidget))
|
||||||
UListView* UpgradesListView;
|
UListView* UpgradesListView;
|
||||||
|
|
||||||
virtual void NativeConstruct() override;
|
virtual void NativeConstruct() override;
|
||||||
|
|
||||||
private:
|
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
void ResumeButtonClicked();
|
void ResumeButtonClicked();
|
||||||
|
|
||||||
|
@ -39,25 +39,15 @@ void UOptionsMenuWidget::NativeConstruct()
|
|||||||
if (ResetToDefaultsButton)
|
if (ResetToDefaultsButton)
|
||||||
{
|
{
|
||||||
ResetToDefaultsButton->OnClicked.AddUniqueDynamic(this, &UOptionsMenuWidget::ResetToDefaultsOnClicked);
|
ResetToDefaultsButton->OnClicked.AddUniqueDynamic(this, &UOptionsMenuWidget::ResetToDefaultsOnClicked);
|
||||||
ResetToDefaultsButton->OnClicked.AddUniqueDynamic(this, &UOptionsMenuWidget::PlayClickedSound);
|
ResetToDefaultsButton->OnHovered.AddUniqueDynamic(this, &UOptionsMenuWidget::ResetToDefaultsButtonOnHovered);
|
||||||
|
ResetToDefaultsButton->OnUnhovered.AddUniqueDynamic(this, &UOptionsMenuWidget::ResetToDefaultsButtonOnUnhovered);
|
||||||
ResetToDefaultsButton->OnHovered.AddUniqueDynamic(this, &UOptionsMenuWidget::PlayHoveredSound);
|
|
||||||
ResetToDefaultsButton->OnHovered.AddUniqueDynamic(this, &UOptionsMenuWidget::ResetToDefaultsTextBlockHoveredDelegate);
|
|
||||||
|
|
||||||
ResetToDefaultsButton->OnUnhovered.AddUniqueDynamic(this, &UOptionsMenuWidget::ResetToDefaultsTextBlockUnhoveredDelegate);
|
|
||||||
ResetToDefaultsButton->OnUnhovered.AddUniqueDynamic(this, &UOptionsMenuWidget::PlayUnhoveredSound);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ReturnButton)
|
if (ReturnButton)
|
||||||
{
|
{
|
||||||
ReturnButton->OnClicked.AddUniqueDynamic(this, &UOptionsMenuWidget::ReturnButtonOnClicked);
|
ReturnButton->OnClicked.AddUniqueDynamic(this, &UOptionsMenuWidget::ReturnButtonOnClicked);
|
||||||
ReturnButton->OnClicked.AddUniqueDynamic(this, &UOptionsMenuWidget::PlayClickedSound);
|
ReturnButton->OnHovered.AddUniqueDynamic(this, &UOptionsMenuWidget::ReturnButtonOnHovered);
|
||||||
|
ReturnButton->OnUnhovered.AddUniqueDynamic(this, &UOptionsMenuWidget::ReturnButtonOnUnhovered);
|
||||||
ReturnButton->OnHovered.AddUniqueDynamic(this, &UOptionsMenuWidget::PlayHoveredSound);
|
|
||||||
ReturnButton->OnHovered.AddUniqueDynamic(this, &UOptionsMenuWidget::ReturnTextBlockHoveredDelegate);
|
|
||||||
|
|
||||||
ReturnButton->OnUnhovered.AddUniqueDynamic(this, &UOptionsMenuWidget::ReturnTextBlockUnhoveredDelegate);
|
|
||||||
ReturnButton->OnUnhovered.AddUniqueDynamic(this, &UOptionsMenuWidget::PlayUnhoveredSound);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -275,6 +265,8 @@ void UOptionsMenuWidget::OnAudioLeverValueChanged(float Value)
|
|||||||
|
|
||||||
void UOptionsMenuWidget::ResetToDefaultsOnClicked()
|
void UOptionsMenuWidget::ResetToDefaultsOnClicked()
|
||||||
{
|
{
|
||||||
|
PlayClickedSound();
|
||||||
|
|
||||||
// Set Resolution to Monitor Res
|
// Set Resolution to Monitor Res
|
||||||
TArray<FIntPoint> Resolutions;
|
TArray<FIntPoint> Resolutions;
|
||||||
UKismetSystemLibrary::GetSupportedFullscreenResolutions(Resolutions);
|
UKismetSystemLibrary::GetSupportedFullscreenResolutions(Resolutions);
|
||||||
@ -282,7 +274,8 @@ void UOptionsMenuWidget::ResetToDefaultsOnClicked()
|
|||||||
if (Resolutions.Num() > 0)
|
if (Resolutions.Num() > 0)
|
||||||
{
|
{
|
||||||
GEngine->GameUserSettings->SetScreenResolution(Resolutions.Last());
|
GEngine->GameUserSettings->SetScreenResolution(Resolutions.Last());
|
||||||
FString ResolutionString = FString::FromInt(Resolutions.Last().X) + "x" + FString::FromInt(Resolutions.Last().Y);
|
FString ResolutionString = FString::FromInt(Resolutions.Last().X) + "x" +
|
||||||
|
FString::FromInt(Resolutions.Last().Y);
|
||||||
ResolutionComboBox->SetSelectedOption(ResolutionString);
|
ResolutionComboBox->SetSelectedOption(ResolutionString);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -322,6 +315,8 @@ void UOptionsMenuWidget::ResetToDefaultsOnClicked()
|
|||||||
|
|
||||||
void UOptionsMenuWidget::ReturnButtonOnClicked()
|
void UOptionsMenuWidget::ReturnButtonOnClicked()
|
||||||
{
|
{
|
||||||
|
PlayClickedSound();
|
||||||
|
|
||||||
if (MainMenuMenuWidget)
|
if (MainMenuMenuWidget)
|
||||||
{
|
{
|
||||||
RemoveFromParent();
|
RemoveFromParent();
|
||||||
@ -336,6 +331,30 @@ void UOptionsMenuWidget::ReturnButtonOnClicked()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void UOptionsMenuWidget::ResetToDefaultsButtonOnHovered()
|
||||||
|
{
|
||||||
|
PlayHoveredSound();
|
||||||
|
SetTextBlockHovered(ResetToDefaultsBlock);
|
||||||
|
}
|
||||||
|
|
||||||
|
void UOptionsMenuWidget::ResetToDefaultsButtonOnUnhovered()
|
||||||
|
{
|
||||||
|
PlayUnhoveredSound();
|
||||||
|
SetTextBlockUnhovered(ResetToDefaultsBlock);
|
||||||
|
}
|
||||||
|
|
||||||
|
void UOptionsMenuWidget::ReturnButtonOnHovered()
|
||||||
|
{
|
||||||
|
PlayHoveredSound();
|
||||||
|
SetTextBlockHovered(ReturnBlock);
|
||||||
|
}
|
||||||
|
|
||||||
|
void UOptionsMenuWidget::ReturnButtonOnUnhovered()
|
||||||
|
{
|
||||||
|
PlayUnhoveredSound();
|
||||||
|
SetTextBlockUnhovered(ReturnBlock);
|
||||||
|
}
|
||||||
|
|
||||||
void UOptionsMenuWidget::GetListOfUniqueRefreshRates(TArray<uint32>& RefreshRates)
|
void UOptionsMenuWidget::GetListOfUniqueRefreshRates(TArray<uint32>& RefreshRates)
|
||||||
{
|
{
|
||||||
FScreenResolutionArray ScreenResolutions;
|
FScreenResolutionArray ScreenResolutions;
|
||||||
|
@ -59,11 +59,9 @@ class VAMPIRES_API UOptionsMenuWidget : public UVampireInteractiveWidget
|
|||||||
UPROPERTY(EditDefaultsOnly, Category = "Widget Settings | Sound Settings")
|
UPROPERTY(EditDefaultsOnly, Category = "Widget Settings | Sound Settings")
|
||||||
TObjectPtr<USoundClass> MasterSoundClass = nullptr;
|
TObjectPtr<USoundClass> MasterSoundClass = nullptr;
|
||||||
|
|
||||||
protected:
|
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
virtual void NativeConstruct() override;
|
virtual void NativeConstruct() override;
|
||||||
|
|
||||||
private:
|
|
||||||
void GenerateWindowTypeOptions();
|
void GenerateWindowTypeOptions();
|
||||||
|
|
||||||
void GenerateResolutionOptions();
|
void GenerateResolutionOptions();
|
||||||
@ -104,16 +102,16 @@ private:
|
|||||||
void ReturnButtonOnClicked();
|
void ReturnButtonOnClicked();
|
||||||
|
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
void ResetToDefaultsTextBlockHoveredDelegate() { SetTextBlockHovered(ResetToDefaultsBlock); }
|
void ResetToDefaultsButtonOnHovered();
|
||||||
|
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
void ResetToDefaultsTextBlockUnhoveredDelegate() { SetTextBlockUnhovered(ResetToDefaultsBlock); }
|
void ResetToDefaultsButtonOnUnhovered();
|
||||||
|
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
void ReturnTextBlockHoveredDelegate() { SetTextBlockHovered(ReturnBlock); }
|
void ReturnButtonOnHovered();
|
||||||
|
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
void ReturnTextBlockUnhoveredDelegate() { SetTextBlockUnhovered(ReturnBlock); }
|
void ReturnButtonOnUnhovered();
|
||||||
|
|
||||||
void GetListOfUniqueRefreshRates(TArray<uint32>& RefreshRates);
|
void GetListOfUniqueRefreshRates(TArray<uint32>& RefreshRates);
|
||||||
};
|
};
|
||||||
|
@ -16,22 +16,20 @@ class VAMPIRES_API UPauseWidget : public UVampireInteractiveWidget
|
|||||||
{
|
{
|
||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
|
|
||||||
public:
|
UPROPERTY(meta=(BindWidget))
|
||||||
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
|
|
||||||
TObjectPtr<UButton> ResumeButton;
|
TObjectPtr<UButton> ResumeButton;
|
||||||
|
|
||||||
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
|
UPROPERTY(meta=(BindWidget))
|
||||||
TObjectPtr<UTextBlock> ResumeTextBlock;
|
TObjectPtr<UTextBlock> ResumeTextBlock;
|
||||||
|
|
||||||
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
|
UPROPERTY(meta=(BindWidget))
|
||||||
TObjectPtr<UButton> ReturnToMainMenuButton;
|
TObjectPtr<UButton> ReturnToMainMenuButton;
|
||||||
|
|
||||||
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
|
UPROPERTY(meta=(BindWidget))
|
||||||
TObjectPtr<UTextBlock> ReturnToMainMenuTextBlock;
|
TObjectPtr<UTextBlock> ReturnToMainMenuTextBlock;
|
||||||
|
|
||||||
virtual void NativeConstruct() override;
|
virtual void NativeConstruct() override;
|
||||||
|
|
||||||
private:
|
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
void ResumeButtonOnClicked();
|
void ResumeButtonOnClicked();
|
||||||
|
|
||||||
|
@ -17,13 +17,8 @@ void USelectWeaponWidget::NativeConstruct()
|
|||||||
if (BackButton)
|
if (BackButton)
|
||||||
{
|
{
|
||||||
BackButton->OnClicked.AddUniqueDynamic(this, &USelectWeaponWidget::BackButtonClicked);
|
BackButton->OnClicked.AddUniqueDynamic(this, &USelectWeaponWidget::BackButtonClicked);
|
||||||
BackButton->OnClicked.AddUniqueDynamic(this, &USelectWeaponWidget::PlayClickedSound);
|
BackButton->OnHovered.AddUniqueDynamic(this, &USelectWeaponWidget::BackButtonOnHovered);
|
||||||
|
BackButton->OnUnhovered.AddUniqueDynamic(this, &USelectWeaponWidget::BackButtonOnUnhovered);
|
||||||
BackButton->OnHovered.AddUniqueDynamic(this, &USelectWeaponWidget::PlayHoveredSound);
|
|
||||||
BackButton->OnHovered.AddUniqueDynamic(this, &USelectWeaponWidget::BackButtonTextBlockHoveredDelegate);
|
|
||||||
|
|
||||||
BackButton->OnUnhovered.AddUniqueDynamic(this, &USelectWeaponWidget::BackButtonTextBlockUnhoveredDelegate);
|
|
||||||
BackButton->OnUnhovered.AddUniqueDynamic(this, &USelectWeaponWidget::PlayUnhoveredSound);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (UpgradesListView)
|
if (UpgradesListView)
|
||||||
@ -40,6 +35,7 @@ void USelectWeaponWidget::NativeConstruct()
|
|||||||
|
|
||||||
void USelectWeaponWidget::BackButtonClicked()
|
void USelectWeaponWidget::BackButtonClicked()
|
||||||
{
|
{
|
||||||
|
PlayClickedSound();
|
||||||
if (PreviousWidget)
|
if (PreviousWidget)
|
||||||
{
|
{
|
||||||
RemoveFromParent();
|
RemoveFromParent();
|
||||||
@ -53,3 +49,15 @@ void USelectWeaponWidget::BackButtonClicked()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void USelectWeaponWidget::BackButtonOnHovered()
|
||||||
|
{
|
||||||
|
PlayHoveredSound();
|
||||||
|
SetTextBlockHovered(BackTextBlock);
|
||||||
|
}
|
||||||
|
|
||||||
|
void USelectWeaponWidget::BackButtonOnUnhovered()
|
||||||
|
{
|
||||||
|
PlayUnhoveredSound();
|
||||||
|
SetTextBlockUnhovered(BackTextBlock);
|
||||||
|
}
|
||||||
|
@ -17,17 +17,18 @@ UCLASS()
|
|||||||
class VAMPIRES_API USelectWeaponWidget : public UVampireInteractiveWidget
|
class VAMPIRES_API USelectWeaponWidget : public UVampireInteractiveWidget
|
||||||
{
|
{
|
||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
protected:
|
|
||||||
|
|
||||||
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
|
UPROPERTY(meta=(BindWidget))
|
||||||
TObjectPtr<UButton> BackButton;
|
TObjectPtr<UButton> BackButton;
|
||||||
|
|
||||||
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
|
UPROPERTY(meta=(BindWidget))
|
||||||
TObjectPtr<UTextBlock> BackTextBlock;
|
TObjectPtr<UTextBlock> BackTextBlock;
|
||||||
|
|
||||||
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
|
UPROPERTY(meta=(BindWidget))
|
||||||
TObjectPtr<UListView> UpgradesListView;
|
TObjectPtr<UListView> UpgradesListView;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly)
|
UPROPERTY(EditDefaultsOnly)
|
||||||
TArray<TSubclassOf<AWeapon>> StarterWeapons;
|
TArray<TSubclassOf<AWeapon>> StarterWeapons;
|
||||||
|
|
||||||
@ -42,8 +43,8 @@ private:
|
|||||||
void BackButtonClicked();
|
void BackButtonClicked();
|
||||||
|
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
void BackButtonTextBlockHoveredDelegate() { SetTextBlockHovered(BackTextBlock); }
|
void BackButtonOnHovered();
|
||||||
|
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
void BackButtonTextBlockUnhoveredDelegate() { SetTextBlockUnhovered(BackTextBlock); }
|
void BackButtonOnUnhovered();
|
||||||
};
|
};
|
||||||
|
@ -58,3 +58,15 @@ void UStarterWeaponButtonWidget::OnClicked()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void UStarterWeaponButtonWidget::OnHoveredDelegate()
|
||||||
|
{
|
||||||
|
SetTextBlockHovered(WeaponNameTextBlock);
|
||||||
|
SetTextBlockHovered(DescriptionTextBlock);
|
||||||
|
}
|
||||||
|
|
||||||
|
void UStarterWeaponButtonWidget::OnUnhoveredDelegate()
|
||||||
|
{
|
||||||
|
SetTextBlockUnhovered(WeaponNameTextBlock);
|
||||||
|
SetTextBlockUnhovered(DescriptionTextBlock);
|
||||||
|
}
|
||||||
|
@ -20,20 +20,19 @@ class VAMPIRES_API UStarterWeaponButtonWidget : public UVampireInteractiveWidget
|
|||||||
{
|
{
|
||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
|
|
||||||
protected:
|
UPROPERTY(meta=(BindWidget))
|
||||||
UPROPERTY(EditDefaultsOnly, meta=(BindWidget))
|
|
||||||
TObjectPtr<UButton> Body;
|
TObjectPtr<UButton> Body;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly, meta=(BindWidget))
|
UPROPERTY(meta=(BindWidget))
|
||||||
TObjectPtr<UImage> WeaponIcon;
|
TObjectPtr<UImage> WeaponIcon;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly, meta=(BindWidget))
|
UPROPERTY(meta=(BindWidget))
|
||||||
TObjectPtr<UTextBlock> WeaponNameTextBlock;
|
TObjectPtr<UTextBlock> WeaponNameTextBlock;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly, meta=(BindWidget))
|
UPROPERTY(meta=(BindWidget))
|
||||||
TObjectPtr<UTextBlock> DescriptionTextBlock;
|
TObjectPtr<UTextBlock> DescriptionTextBlock;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
UPROPERTY()
|
||||||
TSubclassOf<AWeapon> WeaponTemplate;
|
TSubclassOf<AWeapon> WeaponTemplate;
|
||||||
|
|
||||||
UPROPERTY()
|
UPROPERTY()
|
||||||
@ -43,14 +42,12 @@ protected:
|
|||||||
|
|
||||||
virtual void NativeOnListItemObjectSet(UObject* ListItemObject) override;
|
virtual void NativeOnListItemObjectSet(UObject* ListItemObject) override;
|
||||||
|
|
||||||
private:
|
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
virtual void OnClicked();
|
virtual void OnClicked();
|
||||||
|
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
void OnHoveredDelegate() { SetTextBlockHovered(WeaponNameTextBlock); SetTextBlockHovered(DescriptionTextBlock); }
|
void OnHoveredDelegate();
|
||||||
|
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
void OnUnhoveredDelegate() { SetTextBlockUnhovered(WeaponNameTextBlock); SetTextBlockUnhovered(DescriptionTextBlock); }
|
void OnUnhoveredDelegate();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -51,12 +51,8 @@ void UUpgradeButtonWidget::NativeOnListItemObjectSet(UObject* ListItemObject)
|
|||||||
if (Body)
|
if (Body)
|
||||||
{
|
{
|
||||||
Body->OnClicked.AddUniqueDynamic(this, &UUpgradeButtonWidget::OnClicked);
|
Body->OnClicked.AddUniqueDynamic(this, &UUpgradeButtonWidget::OnClicked);
|
||||||
|
|
||||||
Body->OnHovered.AddUniqueDynamic(this, &UUpgradeButtonWidget::PlayHoveredSound);
|
|
||||||
Body->OnHovered.AddUniqueDynamic(this, &UUpgradeButtonWidget::OnHoveredDelegate);
|
Body->OnHovered.AddUniqueDynamic(this, &UUpgradeButtonWidget::OnHoveredDelegate);
|
||||||
|
|
||||||
Body->OnUnhovered.AddUniqueDynamic(this, &UUpgradeButtonWidget::OnUnhoveredDelegate);
|
Body->OnUnhovered.AddUniqueDynamic(this, &UUpgradeButtonWidget::OnUnhoveredDelegate);
|
||||||
Body->OnUnhovered.AddUniqueDynamic(this, &UUpgradeButtonWidget::PlayUnhoveredSound);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -81,6 +77,8 @@ void UUpgradeButtonWidget::NativeOnListItemObjectSet(UObject* ListItemObject)
|
|||||||
|
|
||||||
void UUpgradeButtonWidget::OnClicked()
|
void UUpgradeButtonWidget::OnClicked()
|
||||||
{
|
{
|
||||||
|
PlayClickedSound();
|
||||||
|
|
||||||
APlayerController* PlayerController = UGameplayStatics::GetPlayerController(GetWorld(), 0);
|
APlayerController* PlayerController = UGameplayStatics::GetPlayerController(GetWorld(), 0);
|
||||||
|
|
||||||
switch (UpgradeType)
|
switch (UpgradeType)
|
||||||
@ -90,7 +88,8 @@ void UUpgradeButtonWidget::OnClicked()
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case NewWeapon:
|
case NewWeapon:
|
||||||
if (UWeaponInventoryComponent* Inventory = PlayerController->GetPawn()->GetComponentByClass<UWeaponInventoryComponent>())
|
if (UWeaponInventoryComponent* Inventory = PlayerController->GetPawn()->GetComponentByClass<
|
||||||
|
UWeaponInventoryComponent>())
|
||||||
{
|
{
|
||||||
Inventory->AddWeaponToInventory(WeaponTemplate);
|
Inventory->AddWeaponToInventory(WeaponTemplate);
|
||||||
Inventory->ObtainableWeapons.Remove(WeaponTemplate);
|
Inventory->ObtainableWeapons.Remove(WeaponTemplate);
|
||||||
@ -100,7 +99,8 @@ void UUpgradeButtonWidget::OnClicked()
|
|||||||
case Health:
|
case Health:
|
||||||
if (PlayerController)
|
if (PlayerController)
|
||||||
{
|
{
|
||||||
if (UHealthComponent* HealthComponent = PlayerController->GetPawn()->GetComponentByClass<UHealthComponent>())
|
if (UHealthComponent* HealthComponent = PlayerController->GetPawn()->GetComponentByClass<
|
||||||
|
UHealthComponent>())
|
||||||
{
|
{
|
||||||
HealthComponent->RecoverHealth(HealthComponent->GetMaxHealth() / 10.0f);
|
HealthComponent->RecoverHealth(HealthComponent->GetMaxHealth() / 10.0f);
|
||||||
}
|
}
|
||||||
@ -135,3 +135,17 @@ void UUpgradeButtonWidget::OnClicked()
|
|||||||
Parent->SetIsFocusable(false);
|
Parent->SetIsFocusable(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void UUpgradeButtonWidget::OnHoveredDelegate()
|
||||||
|
{
|
||||||
|
PlayHoveredSound();
|
||||||
|
SetTextBlockHovered(WeaponNameTextBlock);
|
||||||
|
SetTextBlockHovered(DescriptionTextBlock);
|
||||||
|
}
|
||||||
|
|
||||||
|
void UUpgradeButtonWidget::OnUnhoveredDelegate()
|
||||||
|
{
|
||||||
|
PlayUnhoveredSound();
|
||||||
|
SetTextBlockUnhovered(WeaponNameTextBlock);
|
||||||
|
SetTextBlockUnhovered(DescriptionTextBlock);
|
||||||
|
}
|
||||||
|
@ -32,6 +32,20 @@ class VAMPIRES_API UUpgradeButtonWidget : public UVampireInteractiveWidget, publ
|
|||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
UPROPERTY(EditDefaultsOnly)
|
||||||
|
TObjectPtr<UTexture2D> UpgradeIcon;
|
||||||
|
|
||||||
|
UPROPERTY(EditDefaultsOnly)
|
||||||
|
TObjectPtr<UTexture2D> NewWeaponIcon;
|
||||||
|
|
||||||
|
UPROPERTY(EditDefaultsOnly)
|
||||||
|
TObjectPtr<UTexture2D> HealthIcon;
|
||||||
|
|
||||||
|
UPROPERTY(EditDefaultsOnly)
|
||||||
|
TObjectPtr<UTexture2D> GoldIcon;
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly, meta=(BindWidget))
|
UPROPERTY(EditDefaultsOnly, meta=(BindWidget))
|
||||||
TObjectPtr<UButton> Body;
|
TObjectPtr<UButton> Body;
|
||||||
|
|
||||||
@ -44,25 +58,13 @@ protected:
|
|||||||
UPROPERTY(EditDefaultsOnly, meta=(BindWidget))
|
UPROPERTY(EditDefaultsOnly, meta=(BindWidget))
|
||||||
TObjectPtr<UTextBlock> DescriptionTextBlock;
|
TObjectPtr<UTextBlock> DescriptionTextBlock;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly)
|
|
||||||
TObjectPtr<UTexture2D> UpgradeIcon;
|
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly)
|
|
||||||
TObjectPtr<UTexture2D> NewWeaponIcon;
|
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly)
|
|
||||||
TObjectPtr<UTexture2D> HealthIcon;
|
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly)
|
|
||||||
TObjectPtr<UTexture2D> GoldIcon;
|
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly)
|
UPROPERTY(EditDefaultsOnly)
|
||||||
TEnumAsByte<EUpgradeType> UpgradeType;
|
TEnumAsByte<EUpgradeType> UpgradeType;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
UPROPERTY()
|
||||||
TSubclassOf<AWeapon> WeaponTemplate;
|
TSubclassOf<AWeapon> WeaponTemplate;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
UPROPERTY()
|
||||||
TObjectPtr<AWeapon> WeaponInstance;
|
TObjectPtr<AWeapon> WeaponInstance;
|
||||||
|
|
||||||
UPROPERTY()
|
UPROPERTY()
|
||||||
@ -82,8 +84,8 @@ private:
|
|||||||
virtual void OnClicked();
|
virtual void OnClicked();
|
||||||
|
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
void OnHoveredDelegate() { SetTextBlockHovered(WeaponNameTextBlock); SetTextBlockHovered(DescriptionTextBlock); }
|
void OnHoveredDelegate();
|
||||||
|
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
void OnUnhoveredDelegate() { SetTextBlockUnhovered(WeaponNameTextBlock); SetTextBlockUnhovered(DescriptionTextBlock); }
|
void OnUnhoveredDelegate();
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user