Compare commits

..

No commits in common. "af60880d174c61119e660e5db19f85b9cd46d85a" and "d572a9b1773e73302b5d11867d3892b803310d1d" have entirely different histories.

13 changed files with 112 additions and 151 deletions

View File

@ -17,22 +17,23 @@ class VAMPIRES_API UGameOverWidget : public UVampireInteractiveWidget
{
GENERATED_BODY()
UPROPERTY(meta=(BindWidget))
protected:
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
TObjectPtr<UButton> ReturnButton;
UPROPERTY(meta = (BindWidget))
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
TObjectPtr <UTextBlock> ReturnBlock;
UPROPERTY(meta = (BindWidget))
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
TObjectPtr <UTextBlock> LevelBlock;
UPROPERTY(meta = (BindWidget))
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
TObjectPtr <UTextBlock> TimerBlock;
UPROPERTY(meta = (BindWidget))
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
TObjectPtr <UTextBlock> KillBlock;
UPROPERTY(meta = (BindWidget))
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
TObjectPtr <UTextBlock> GoldBlock;
virtual void NativeConstruct() override;

View File

@ -5,6 +5,10 @@
#include "Components/ProgressBar.h"
#include "Components/TextBlock.h"
void UHUDWidget::Init()
{
}
void UHUDWidget::UpdateEXPBar(float CurrentLevelPercent)
{
EXPbar->SetPercent(CurrentLevelPercent);

View File

@ -16,21 +16,24 @@ class VAMPIRES_API UHUDWidget : public UUserWidget
{
GENERATED_BODY()
UPROPERTY(meta = (BindWidget))
protected:
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
UProgressBar* EXPbar;
UPROPERTY(meta = (BindWidget))
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
UTextBlock* LevelBlock;
UPROPERTY(meta = (BindWidget))
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
UTextBlock* TimerBLock;
UPROPERTY(meta = (BindWidget))
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
UTextBlock* KillBLock;
UPROPERTY(meta = (BindWidget))
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
UTextBlock* GoldBLock;
void Init();
public:
UFUNCTION()
void UpdateEXPBar(float CurrentLevelPercent);

View File

@ -17,17 +17,19 @@ class VAMPIRES_API ULevelUpWidget : public UVampireInteractiveWidget
{
GENERATED_BODY()
UPROPERTY(meta=(BindWidget))
protected:
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
TObjectPtr<UButton> ResumeButton;
UPROPERTY(meta=(BindWidget))
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
TObjectPtr<UTextBlock> ResumeTextBlock;
UPROPERTY(meta=(BindWidget))
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
UListView* UpgradesListView;
virtual void NativeConstruct() override;
private:
UFUNCTION()
void ResumeButtonClicked();

View File

@ -39,15 +39,25 @@ void UOptionsMenuWidget::NativeConstruct()
if (ResetToDefaultsButton)
{
ResetToDefaultsButton->OnClicked.AddUniqueDynamic(this, &UOptionsMenuWidget::ResetToDefaultsOnClicked);
ResetToDefaultsButton->OnHovered.AddUniqueDynamic(this, &UOptionsMenuWidget::ResetToDefaultsButtonOnHovered);
ResetToDefaultsButton->OnUnhovered.AddUniqueDynamic(this, &UOptionsMenuWidget::ResetToDefaultsButtonOnUnhovered);
ResetToDefaultsButton->OnClicked.AddUniqueDynamic(this, &UOptionsMenuWidget::PlayClickedSound);
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)
{
ReturnButton->OnClicked.AddUniqueDynamic(this, &UOptionsMenuWidget::ReturnButtonOnClicked);
ReturnButton->OnHovered.AddUniqueDynamic(this, &UOptionsMenuWidget::ReturnButtonOnHovered);
ReturnButton->OnUnhovered.AddUniqueDynamic(this, &UOptionsMenuWidget::ReturnButtonOnUnhovered);
ReturnButton->OnClicked.AddUniqueDynamic(this, &UOptionsMenuWidget::PlayClickedSound);
ReturnButton->OnHovered.AddUniqueDynamic(this, &UOptionsMenuWidget::PlayHoveredSound);
ReturnButton->OnHovered.AddUniqueDynamic(this, &UOptionsMenuWidget::ReturnTextBlockHoveredDelegate);
ReturnButton->OnUnhovered.AddUniqueDynamic(this, &UOptionsMenuWidget::ReturnTextBlockUnhoveredDelegate);
ReturnButton->OnUnhovered.AddUniqueDynamic(this, &UOptionsMenuWidget::PlayUnhoveredSound);
}
}
@ -265,8 +275,6 @@ void UOptionsMenuWidget::OnAudioLeverValueChanged(float Value)
void UOptionsMenuWidget::ResetToDefaultsOnClicked()
{
PlayClickedSound();
// Set Resolution to Monitor Res
TArray<FIntPoint> Resolutions;
UKismetSystemLibrary::GetSupportedFullscreenResolutions(Resolutions);
@ -274,8 +282,7 @@ void UOptionsMenuWidget::ResetToDefaultsOnClicked()
if (Resolutions.Num() > 0)
{
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);
}
else
@ -315,8 +322,6 @@ void UOptionsMenuWidget::ResetToDefaultsOnClicked()
void UOptionsMenuWidget::ReturnButtonOnClicked()
{
PlayClickedSound();
if (MainMenuMenuWidget)
{
RemoveFromParent();
@ -331,30 +336,6 @@ 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)
{
FScreenResolutionArray ScreenResolutions;

View File

@ -59,9 +59,11 @@ class VAMPIRES_API UOptionsMenuWidget : public UVampireInteractiveWidget
UPROPERTY(EditDefaultsOnly, Category = "Widget Settings | Sound Settings")
TObjectPtr<USoundClass> MasterSoundClass = nullptr;
protected:
UFUNCTION()
virtual void NativeConstruct() override;
private:
void GenerateWindowTypeOptions();
void GenerateResolutionOptions();
@ -102,16 +104,16 @@ class VAMPIRES_API UOptionsMenuWidget : public UVampireInteractiveWidget
void ReturnButtonOnClicked();
UFUNCTION()
void ResetToDefaultsButtonOnHovered();
void ResetToDefaultsTextBlockHoveredDelegate() { SetTextBlockHovered(ResetToDefaultsBlock); }
UFUNCTION()
void ResetToDefaultsButtonOnUnhovered();
void ResetToDefaultsTextBlockUnhoveredDelegate() { SetTextBlockUnhovered(ResetToDefaultsBlock); }
UFUNCTION()
void ReturnButtonOnHovered();
void ReturnTextBlockHoveredDelegate() { SetTextBlockHovered(ReturnBlock); }
UFUNCTION()
void ReturnButtonOnUnhovered();
void ReturnTextBlockUnhoveredDelegate() { SetTextBlockUnhovered(ReturnBlock); }
void GetListOfUniqueRefreshRates(TArray<uint32>& RefreshRates);
};

View File

@ -16,20 +16,22 @@ class VAMPIRES_API UPauseWidget : public UVampireInteractiveWidget
{
GENERATED_BODY()
UPROPERTY(meta=(BindWidget))
public:
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
TObjectPtr<UButton> ResumeButton;
UPROPERTY(meta=(BindWidget))
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
TObjectPtr<UTextBlock> ResumeTextBlock;
UPROPERTY(meta=(BindWidget))
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
TObjectPtr<UButton> ReturnToMainMenuButton;
UPROPERTY(meta=(BindWidget))
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
TObjectPtr<UTextBlock> ReturnToMainMenuTextBlock;
virtual void NativeConstruct() override;
private:
UFUNCTION()
void ResumeButtonOnClicked();

View File

@ -17,8 +17,13 @@ void USelectWeaponWidget::NativeConstruct()
if (BackButton)
{
BackButton->OnClicked.AddUniqueDynamic(this, &USelectWeaponWidget::BackButtonClicked);
BackButton->OnHovered.AddUniqueDynamic(this, &USelectWeaponWidget::BackButtonOnHovered);
BackButton->OnUnhovered.AddUniqueDynamic(this, &USelectWeaponWidget::BackButtonOnUnhovered);
BackButton->OnClicked.AddUniqueDynamic(this, &USelectWeaponWidget::PlayClickedSound);
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)
@ -35,7 +40,6 @@ void USelectWeaponWidget::NativeConstruct()
void USelectWeaponWidget::BackButtonClicked()
{
PlayClickedSound();
if (PreviousWidget)
{
RemoveFromParent();
@ -49,15 +53,3 @@ void USelectWeaponWidget::BackButtonClicked()
}
}
}
void USelectWeaponWidget::BackButtonOnHovered()
{
PlayHoveredSound();
SetTextBlockHovered(BackTextBlock);
}
void USelectWeaponWidget::BackButtonOnUnhovered()
{
PlayUnhoveredSound();
SetTextBlockUnhovered(BackTextBlock);
}

View File

@ -17,18 +17,17 @@ UCLASS()
class VAMPIRES_API USelectWeaponWidget : public UVampireInteractiveWidget
{
GENERATED_BODY()
protected:
UPROPERTY(meta=(BindWidget))
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
TObjectPtr<UButton> BackButton;
UPROPERTY(meta=(BindWidget))
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
TObjectPtr<UTextBlock> BackTextBlock;
UPROPERTY(meta=(BindWidget))
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
TObjectPtr<UListView> UpgradesListView;
protected:
UPROPERTY(EditDefaultsOnly)
TArray<TSubclassOf<AWeapon>> StarterWeapons;
@ -43,8 +42,8 @@ private:
void BackButtonClicked();
UFUNCTION()
void BackButtonOnHovered();
void BackButtonTextBlockHoveredDelegate() { SetTextBlockHovered(BackTextBlock); }
UFUNCTION()
void BackButtonOnUnhovered();
void BackButtonTextBlockUnhoveredDelegate() { SetTextBlockUnhovered(BackTextBlock); }
};

View File

@ -58,15 +58,3 @@ void UStarterWeaponButtonWidget::OnClicked()
}
}
}
void UStarterWeaponButtonWidget::OnHoveredDelegate()
{
SetTextBlockHovered(WeaponNameTextBlock);
SetTextBlockHovered(DescriptionTextBlock);
}
void UStarterWeaponButtonWidget::OnUnhoveredDelegate()
{
SetTextBlockUnhovered(WeaponNameTextBlock);
SetTextBlockUnhovered(DescriptionTextBlock);
}

View File

@ -20,19 +20,20 @@ class VAMPIRES_API UStarterWeaponButtonWidget : public UVampireInteractiveWidget
{
GENERATED_BODY()
UPROPERTY(meta=(BindWidget))
protected:
UPROPERTY(EditDefaultsOnly, meta=(BindWidget))
TObjectPtr<UButton> Body;
UPROPERTY(meta=(BindWidget))
UPROPERTY(EditDefaultsOnly, meta=(BindWidget))
TObjectPtr<UImage> WeaponIcon;
UPROPERTY(meta=(BindWidget))
UPROPERTY(EditDefaultsOnly, meta=(BindWidget))
TObjectPtr<UTextBlock> WeaponNameTextBlock;
UPROPERTY(meta=(BindWidget))
UPROPERTY(EditDefaultsOnly, meta=(BindWidget))
TObjectPtr<UTextBlock> DescriptionTextBlock;
UPROPERTY()
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TSubclassOf<AWeapon> WeaponTemplate;
UPROPERTY()
@ -42,12 +43,14 @@ class VAMPIRES_API UStarterWeaponButtonWidget : public UVampireInteractiveWidget
virtual void NativeOnListItemObjectSet(UObject* ListItemObject) override;
private:
UFUNCTION()
virtual void OnClicked();
UFUNCTION()
void OnHoveredDelegate();
void OnHoveredDelegate() { SetTextBlockHovered(WeaponNameTextBlock); SetTextBlockHovered(DescriptionTextBlock); }
UFUNCTION()
void OnUnhoveredDelegate();
void OnUnhoveredDelegate() { SetTextBlockUnhovered(WeaponNameTextBlock); SetTextBlockUnhovered(DescriptionTextBlock); }
};

View File

@ -51,8 +51,12 @@ void UUpgradeButtonWidget::NativeOnListItemObjectSet(UObject* ListItemObject)
if (Body)
{
Body->OnClicked.AddUniqueDynamic(this, &UUpgradeButtonWidget::OnClicked);
Body->OnHovered.AddUniqueDynamic(this, &UUpgradeButtonWidget::PlayHoveredSound);
Body->OnHovered.AddUniqueDynamic(this, &UUpgradeButtonWidget::OnHoveredDelegate);
Body->OnUnhovered.AddUniqueDynamic(this, &UUpgradeButtonWidget::OnUnhoveredDelegate);
Body->OnUnhovered.AddUniqueDynamic(this, &UUpgradeButtonWidget::PlayUnhoveredSound);
}
}
@ -77,8 +81,6 @@ void UUpgradeButtonWidget::NativeOnListItemObjectSet(UObject* ListItemObject)
void UUpgradeButtonWidget::OnClicked()
{
PlayClickedSound();
APlayerController* PlayerController = UGameplayStatics::GetPlayerController(GetWorld(), 0);
switch (UpgradeType)
@ -88,8 +90,7 @@ void UUpgradeButtonWidget::OnClicked()
break;
case NewWeapon:
if (UWeaponInventoryComponent* Inventory = PlayerController->GetPawn()->GetComponentByClass<
UWeaponInventoryComponent>())
if (UWeaponInventoryComponent* Inventory = PlayerController->GetPawn()->GetComponentByClass<UWeaponInventoryComponent>())
{
Inventory->AddWeaponToInventory(WeaponTemplate);
Inventory->ObtainableWeapons.Remove(WeaponTemplate);
@ -99,8 +100,7 @@ void UUpgradeButtonWidget::OnClicked()
case Health:
if (PlayerController)
{
if (UHealthComponent* HealthComponent = PlayerController->GetPawn()->GetComponentByClass<
UHealthComponent>())
if (UHealthComponent* HealthComponent = PlayerController->GetPawn()->GetComponentByClass<UHealthComponent>())
{
HealthComponent->RecoverHealth(HealthComponent->GetMaxHealth() / 10.0f);
}
@ -135,17 +135,3 @@ void UUpgradeButtonWidget::OnClicked()
Parent->SetIsFocusable(false);
}
}
void UUpgradeButtonWidget::OnHoveredDelegate()
{
PlayHoveredSound();
SetTextBlockHovered(WeaponNameTextBlock);
SetTextBlockHovered(DescriptionTextBlock);
}
void UUpgradeButtonWidget::OnUnhoveredDelegate()
{
PlayUnhoveredSound();
SetTextBlockUnhovered(WeaponNameTextBlock);
SetTextBlockUnhovered(DescriptionTextBlock);
}

View File

@ -32,20 +32,6 @@ class VAMPIRES_API UUpgradeButtonWidget : public UVampireInteractiveWidget, publ
GENERATED_BODY()
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))
TObjectPtr<UButton> Body;
@ -58,13 +44,25 @@ private:
UPROPERTY(EditDefaultsOnly, meta=(BindWidget))
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)
TEnumAsByte<EUpgradeType> UpgradeType;
UPROPERTY()
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TSubclassOf<AWeapon> WeaponTemplate;
UPROPERTY()
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TObjectPtr<AWeapon> WeaponInstance;
UPROPERTY()
@ -84,8 +82,8 @@ private:
virtual void OnClicked();
UFUNCTION()
void OnHoveredDelegate();
void OnHoveredDelegate() { SetTextBlockHovered(WeaponNameTextBlock); SetTextBlockHovered(DescriptionTextBlock); }
UFUNCTION()
void OnUnhoveredDelegate();
void OnUnhoveredDelegate() { SetTextBlockUnhovered(WeaponNameTextBlock); SetTextBlockUnhovered(DescriptionTextBlock); }
};