Updated Combat UI for User Experience Improvements
Hide buttons until they are available to use and disable resource buttons if there isn't any resources left
This commit is contained in:
parent
cfde5f9d68
commit
aa78522127
@ -48,7 +48,7 @@ void ATurnBaseCombatV2::StartCombat(AActor* Enemy, bool bWasShot)
|
|||||||
bIsInCombat = true;
|
bIsInCombat = true;
|
||||||
UBlackboardComponent* EnemyBlackboard = Cast<AAIController>(Enemy->GetInstigatorController())->GetBlackboardComponent();
|
UBlackboardComponent* EnemyBlackboard = Cast<AAIController>(Enemy->GetInstigatorController())->GetBlackboardComponent();
|
||||||
Cast<UQuestSystem>(PlayerActor->GetComponentByClass(UQuestSystem::StaticClass()))->QuestWidgetInstance->SetVisibility(ESlateVisibility::Hidden);
|
Cast<UQuestSystem>(PlayerActor->GetComponentByClass(UQuestSystem::StaticClass()))->QuestWidgetInstance->SetVisibility(ESlateVisibility::Hidden);
|
||||||
|
|
||||||
//Disable Character Movement
|
//Disable Character Movement
|
||||||
APlayerController* PlayerController = GetWorld()->GetFirstPlayerController();
|
APlayerController* PlayerController = GetWorld()->GetFirstPlayerController();
|
||||||
PlayerController->SetIgnoreMoveInput(true);
|
PlayerController->SetIgnoreMoveInput(true);
|
||||||
@ -419,7 +419,7 @@ void ATurnBaseCombatV2::SwitchTurn()
|
|||||||
//TurnIndicatorTextBlock->SetText(FText::FromString(bIsPlayerTurn ? "Enemy Turn" : "Player Turn"));
|
//TurnIndicatorTextBlock->SetText(FText::FromString(bIsPlayerTurn ? "Enemy Turn" : "Player Turn"));
|
||||||
//bIsPlayerTurn = !bIsPlayerTurn;
|
//bIsPlayerTurn = !bIsPlayerTurn;
|
||||||
TurnIndicatorTextBlock->SetText(FText::FromString("Enemy Turn"));
|
TurnIndicatorTextBlock->SetText(FText::FromString("Enemy Turn"));
|
||||||
ToggleButtons();
|
DisableButtons();
|
||||||
|
|
||||||
FTimerHandle UnusedHandle;
|
FTimerHandle UnusedHandle;
|
||||||
GetWorldTimerManager().SetTimer(UnusedHandle, this, &ATurnBaseCombatV2::EnemyTurn, 2.0f, false);
|
GetWorldTimerManager().SetTimer(UnusedHandle, this, &ATurnBaseCombatV2::EnemyTurn, 2.0f, false);
|
||||||
@ -539,26 +539,6 @@ void ATurnBaseCombatV2::BackspaceButtonOnClick()
|
|||||||
RevertActionPoints();
|
RevertActionPoints();
|
||||||
UpdateActionPoints();
|
UpdateActionPoints();
|
||||||
UpdateResourceBars();
|
UpdateResourceBars();
|
||||||
// ReuseActionPoint();
|
|
||||||
// if (CurrentComboString.Right(1) == "P")
|
|
||||||
// {
|
|
||||||
// ProbertiumResource += 1;
|
|
||||||
// }
|
|
||||||
// else if (CurrentComboString.Right(1) == "E")
|
|
||||||
// {
|
|
||||||
// EisResource += 1;
|
|
||||||
// }
|
|
||||||
// else if (CurrentComboString.Right(1) == "A")
|
|
||||||
// {
|
|
||||||
// AzosResource += 1;
|
|
||||||
// }
|
|
||||||
// else if (CurrentComboString.Right(1) == "I")
|
|
||||||
// {
|
|
||||||
// IroquoidResource += 1;
|
|
||||||
// }
|
|
||||||
// CurrentComboString.RemoveAt(CurrentComboString.Len() - 1);
|
|
||||||
// UpdateComboString(CurrentComboString);
|
|
||||||
// UpdateResourceBars();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ATurnBaseCombatV2::RunButtonOnClick()
|
void ATurnBaseCombatV2::RunButtonOnClick()
|
||||||
@ -584,7 +564,18 @@ void ATurnBaseCombatV2::UpdateComboString(FString NewCombo) const
|
|||||||
CurrentComboTextBlock1->SetText(FText::FromString("?"));
|
CurrentComboTextBlock1->SetText(FText::FromString("?"));
|
||||||
CurrentComboTextBlock2->SetText(FText::FromString("?"));
|
CurrentComboTextBlock2->SetText(FText::FromString("?"));
|
||||||
|
|
||||||
if (IsValidCombo(NewCombo)) CurrentComboTextBlock->SetText(FText::FromString(NewCombo));
|
if (NewCombo.Len() > 0) BackspaceButton->SetVisibility(ESlateVisibility::Visible);
|
||||||
|
else BackspaceButton->SetVisibility(ESlateVisibility::Hidden);
|
||||||
|
|
||||||
|
if (IsValidCombo(NewCombo))
|
||||||
|
{
|
||||||
|
CurrentComboTextBlock->SetText(FText::FromString(NewCombo));
|
||||||
|
CastButton->SetVisibility(ESlateVisibility::Visible);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
CastButton->SetVisibility(ESlateVisibility::Hidden);
|
||||||
|
}
|
||||||
if (NewCombo.Len() == 1)
|
if (NewCombo.Len() == 1)
|
||||||
{
|
{
|
||||||
CurrentComboTextBlock1->SetText(FText::FromString(NewCombo));
|
CurrentComboTextBlock1->SetText(FText::FromString(NewCombo));
|
||||||
@ -628,17 +619,7 @@ void ATurnBaseCombatV2::UpdateResourceBars() const
|
|||||||
EisResourceBar->SetPercent(EisResource / 10.0f);
|
EisResourceBar->SetPercent(EisResource / 10.0f);
|
||||||
AzosResourceBar->SetPercent(AzosResource / 10.0f);
|
AzosResourceBar->SetPercent(AzosResource / 10.0f);
|
||||||
IroquoidResourceBar->SetPercent(IroquoidResource / 10.0f);
|
IroquoidResourceBar->SetPercent(IroquoidResource / 10.0f);
|
||||||
}
|
ToggleButtonIfResourceAvailable();
|
||||||
|
|
||||||
void ATurnBaseCombatV2::ToggleButtons() const
|
|
||||||
{
|
|
||||||
PButton->SetIsEnabled(!PButton->GetIsEnabled());
|
|
||||||
EButton->SetIsEnabled(!EButton->GetIsEnabled());
|
|
||||||
AButton->SetIsEnabled(!AButton->GetIsEnabled());
|
|
||||||
IButton->SetIsEnabled(!IButton->GetIsEnabled());
|
|
||||||
BackspaceButton->SetIsEnabled(!BackspaceButton->GetIsEnabled());
|
|
||||||
CastButton->SetIsEnabled(!CastButton->GetIsEnabled());
|
|
||||||
RunButton->SetIsEnabled(!RunButton->GetIsEnabled());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ATurnBaseCombatV2::DisableButtons() const
|
void ATurnBaseCombatV2::DisableButtons() const
|
||||||
@ -654,10 +635,7 @@ void ATurnBaseCombatV2::DisableButtons() const
|
|||||||
|
|
||||||
void ATurnBaseCombatV2::EnableButtons() const
|
void ATurnBaseCombatV2::EnableButtons() const
|
||||||
{
|
{
|
||||||
PButton->SetIsEnabled(true);
|
ToggleButtonIfResourceAvailable();
|
||||||
EButton->SetIsEnabled(true);
|
|
||||||
AButton->SetIsEnabled(true);
|
|
||||||
IButton->SetIsEnabled(true);
|
|
||||||
BackspaceButton->SetIsEnabled(true);
|
BackspaceButton->SetIsEnabled(true);
|
||||||
CastButton->SetIsEnabled(true);
|
CastButton->SetIsEnabled(true);
|
||||||
RunButton->SetIsEnabled(true);
|
RunButton->SetIsEnabled(true);
|
||||||
@ -668,5 +646,17 @@ void ATurnBaseCombatV2::EnemyTurn()
|
|||||||
DamagePlayer(10);
|
DamagePlayer(10);
|
||||||
OnEnemyTurn.Broadcast(EnemyActor, PlayerActor);
|
OnEnemyTurn.Broadcast(EnemyActor, PlayerActor);
|
||||||
TurnIndicatorTextBlock->SetText(FText::FromString("Player Turn"));
|
TurnIndicatorTextBlock->SetText(FText::FromString("Player Turn"));
|
||||||
ToggleButtons();
|
EnableButtons();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ATurnBaseCombatV2::ToggleButtonIfResourceAvailable() const
|
||||||
|
{
|
||||||
|
if (ProbertiumResource >= 1) PButton->SetIsEnabled(true);
|
||||||
|
else PButton->SetIsEnabled(false);
|
||||||
|
if (EisResource >= 1) EButton->SetIsEnabled(true);
|
||||||
|
else EButton->SetIsEnabled(false);
|
||||||
|
if (AzosResource >= 1) AButton->SetIsEnabled(true);
|
||||||
|
else AButton->SetIsEnabled(false);
|
||||||
|
if (IroquoidResource >= 1) IButton->SetIsEnabled(true);
|
||||||
|
else IButton->SetIsEnabled(false);
|
||||||
}
|
}
|
||||||
|
@ -224,12 +224,12 @@ private:
|
|||||||
void UpdateBattleLog();
|
void UpdateBattleLog();
|
||||||
void UpdateResourceBars() const;
|
void UpdateResourceBars() const;
|
||||||
UFUNCTION(BlueprintCallable)
|
UFUNCTION(BlueprintCallable)
|
||||||
void ToggleButtons() const;
|
|
||||||
UFUNCTION(BlueprintCallable)
|
|
||||||
void DisableButtons() const;
|
void DisableButtons() const;
|
||||||
UFUNCTION(BlueprintCallable)
|
UFUNCTION(BlueprintCallable)
|
||||||
void EnableButtons() const;
|
void EnableButtons() const;
|
||||||
void EnemyTurn();
|
void EnemyTurn();
|
||||||
|
UFUNCTION(BlueprintCallable)
|
||||||
|
void ToggleButtonIfResourceAvailable() const;
|
||||||
|
|
||||||
UPROPERTY()
|
UPROPERTY()
|
||||||
UUserWidget* DeathScreenWidget;
|
UUserWidget* DeathScreenWidget;
|
||||||
|
Loading…
Reference in New Issue
Block a user