Updated Combat_UI for Battle Log
This commit is contained in:
parent
b765f633d6
commit
f2857b3c57
BIN
Content/Blueprints/Combat_UI/Combat_UI.uasset
(Stored with Git LFS)
BIN
Content/Blueprints/Combat_UI/Combat_UI.uasset
(Stored with Git LFS)
Binary file not shown.
@ -32,14 +32,15 @@ void ATurnBaseCombat::BeginPlay()
|
|||||||
|
|
||||||
if (PC)
|
if (PC)
|
||||||
{
|
{
|
||||||
PC->bShowMouseCursor = true;
|
PC->bShowMouseCursor = true;
|
||||||
PC->bEnableClickEvents = true;
|
PC->bEnableClickEvents = true;
|
||||||
PC->bEnableMouseOverEvents = true;
|
PC->bEnableMouseOverEvents = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
TurnIndicatorTextBlock = Cast<UTextBlock>(HUD->GetWidgetFromName("TurnIndicator"));
|
TurnIndicatorTextBlock = Cast<UTextBlock>(HUD->GetWidgetFromName("TurnIndicator"));
|
||||||
CurrentComboTextBlock = Cast<UTextBlock>(HUD->GetWidgetFromName("CurrentCombo"));
|
CurrentComboTextBlock = Cast<UTextBlock>(HUD->GetWidgetFromName("CurrentCombo"));
|
||||||
ActionPointsTextBlock = Cast<UTextBlock>(HUD->GetWidgetFromName("ActionPoints"));
|
ActionPointsTextBlock = Cast<UTextBlock>(HUD->GetWidgetFromName("ActionPoints"));
|
||||||
|
BattleLogTextBlock = Cast<UTextBlock>(HUD->GetWidgetFromName("BattleLog"));
|
||||||
PlayerHealthBar = Cast<UProgressBar>(HUD->GetWidgetFromName("PlayerHealthBar"));
|
PlayerHealthBar = Cast<UProgressBar>(HUD->GetWidgetFromName("PlayerHealthBar"));
|
||||||
EnemyHealthBar = Cast<UProgressBar>(HUD->GetWidgetFromName("EnemyHealthBar"));
|
EnemyHealthBar = Cast<UProgressBar>(HUD->GetWidgetFromName("EnemyHealthBar"));
|
||||||
CastButton = Cast<UButton>(HUD->GetWidgetFromName("CastButton"));
|
CastButton = Cast<UButton>(HUD->GetWidgetFromName("CastButton"));
|
||||||
@ -107,12 +108,14 @@ void ATurnBaseCombat::DamagePlayer(int Damage)
|
|||||||
{
|
{
|
||||||
PlayerHealth -= FMath::Clamp(Damage, 0, 100);
|
PlayerHealth -= FMath::Clamp(Damage, 0, 100);
|
||||||
UpdateProgressBars();
|
UpdateProgressBars();
|
||||||
|
AddBattleLogMessage("Player was damaged for " + FString::FromInt(Damage) + " damage.");
|
||||||
}
|
}
|
||||||
|
|
||||||
void ATurnBaseCombat::DamageEnemy(int Damage)
|
void ATurnBaseCombat::DamageEnemy(int Damage)
|
||||||
{
|
{
|
||||||
EnemyHealth -= FMath::Clamp(Damage, 0, 100);
|
EnemyHealth -= FMath::Clamp(Damage, 0, 100);
|
||||||
UpdateProgressBars();
|
UpdateProgressBars();
|
||||||
|
AddBattleLogMessage("Enemy was damaged for " + FString::FromInt(Damage) + " damage.");
|
||||||
}
|
}
|
||||||
|
|
||||||
void ATurnBaseCombat::UpdateProgressBars() const
|
void ATurnBaseCombat::UpdateProgressBars() const
|
||||||
@ -189,8 +192,23 @@ void ATurnBaseCombat::UpdateActionPoints() const
|
|||||||
|
|
||||||
void ATurnBaseCombat::AddBattleLogMessage(FString Message)
|
void ATurnBaseCombat::AddBattleLogMessage(FString Message)
|
||||||
{
|
{
|
||||||
FString* tempTextBlock;
|
BattleLog.Append(Message + "\n");
|
||||||
BattleLog.Enqueue(Message);
|
UpdateBattleLog();
|
||||||
tempTextBlock = BattleLog.Peek();
|
}
|
||||||
|
|
||||||
|
void ATurnBaseCombat::ClearBattleLog()
|
||||||
|
{
|
||||||
|
BattleLog = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
void ATurnBaseCombat::UpdateBattleLog()
|
||||||
|
{
|
||||||
|
TArray<FString> tempArray;
|
||||||
|
//Get the amount of lines in the battle log
|
||||||
|
int32 LineCount = BattleLog.ParseIntoArray(tempArray, TEXT("\n"), true);
|
||||||
|
if (LineCount > 10) //If there are more than 10 lines
|
||||||
|
{
|
||||||
|
ClearBattleLog();
|
||||||
|
}
|
||||||
|
BattleLogTextBlock->SetText(FText::FromString(BattleLog));
|
||||||
}
|
}
|
||||||
|
@ -48,7 +48,7 @@ public:
|
|||||||
{"FW", 20}
|
{"FW", 20}
|
||||||
};
|
};
|
||||||
|
|
||||||
TQueue<FString> BattleLog;
|
FString BattleLog;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void BeginPlay() override;
|
virtual void BeginPlay() override;
|
||||||
@ -62,56 +62,61 @@ protected:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
bool IsValidCombo(FString Combo) const;
|
bool IsValidCombo(FString Combo) const;
|
||||||
|
|
||||||
UPROPERTY(VisibleAnywhere)
|
UPROPERTY(VisibleAnywhere)
|
||||||
bool bIsPlayerTurn = true;
|
bool bIsPlayerTurn = true;
|
||||||
|
|
||||||
UPROPERTY(VisibleAnywhere)
|
UPROPERTY(VisibleAnywhere)
|
||||||
FString CurrentComboString = "";
|
FString CurrentComboString = "";
|
||||||
|
|
||||||
void SwitchTurn();
|
void SwitchTurn();
|
||||||
|
|
||||||
UPROPERTY(VisibleAnywhere)
|
UPROPERTY(VisibleAnywhere)
|
||||||
UTextBlock* TurnIndicatorTextBlock;
|
UTextBlock* TurnIndicatorTextBlock;
|
||||||
|
|
||||||
UPROPERTY(VisibleAnywhere)
|
UPROPERTY(VisibleAnywhere)
|
||||||
UTextBlock* CurrentComboTextBlock;
|
UTextBlock* CurrentComboTextBlock;
|
||||||
|
|
||||||
|
UPROPERTY(VisibleAnywhere)
|
||||||
|
UTextBlock* BattleLogTextBlock;
|
||||||
|
|
||||||
UPROPERTY(VisibleAnywhere)
|
UPROPERTY(VisibleAnywhere)
|
||||||
UTextBlock* ActionPointsTextBlock;
|
UTextBlock* ActionPointsTextBlock;
|
||||||
|
|
||||||
UPROPERTY(VisibleAnywhere)
|
UPROPERTY(VisibleAnywhere)
|
||||||
UProgressBar* PlayerHealthBar;
|
UProgressBar* PlayerHealthBar;
|
||||||
|
|
||||||
UPROPERTY(VisibleAnywhere)
|
UPROPERTY(VisibleAnywhere)
|
||||||
UProgressBar* EnemyHealthBar;
|
UProgressBar* EnemyHealthBar;
|
||||||
|
|
||||||
UPROPERTY(VisibleAnywhere)
|
UPROPERTY(VisibleAnywhere)
|
||||||
UButton* CastButton;
|
UButton* CastButton;
|
||||||
|
|
||||||
UPROPERTY(VisibleAnywhere)
|
UPROPERTY(VisibleAnywhere)
|
||||||
UButton* FButton;
|
UButton* FButton;
|
||||||
|
|
||||||
UPROPERTY(VisibleAnywhere)
|
UPROPERTY(VisibleAnywhere)
|
||||||
UButton* WButton;
|
UButton* WButton;
|
||||||
|
|
||||||
UPROPERTY(VisibleAnywhere)
|
UPROPERTY(VisibleAnywhere)
|
||||||
UButton* BackspaceButton;
|
UButton* BackspaceButton;
|
||||||
|
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
void CastButtonOnClick();
|
void CastButtonOnClick();
|
||||||
|
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
void FButtonOnClick();
|
void FButtonOnClick();
|
||||||
|
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
void WButtonOnClick();
|
void WButtonOnClick();
|
||||||
|
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
void BackspaceButtonOnClick();
|
void BackspaceButtonOnClick();
|
||||||
|
|
||||||
void UpdateComboString(FString NewCombo) const;
|
void UpdateComboString(FString NewCombo) const;
|
||||||
void UpdateActionPoints() const;
|
void UpdateActionPoints() const;
|
||||||
|
|
||||||
void AddBattleLogMessage(FString Message);
|
void AddBattleLogMessage(FString Message);
|
||||||
};
|
void ClearBattleLog();
|
||||||
|
void UpdateBattleLog();
|
||||||
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user