Updated TurnBaseCombat for ResourceBar Functionality
This commit is contained in:
parent
189b6d25b8
commit
9d72f60208
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.
@ -53,6 +53,8 @@ void ATurnBaseCombat::BeginPlay()
|
|||||||
BattleLogTextBlock = Cast<UTextBlock>(HUD->GetWidgetFromName("BattleLog"));
|
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"));
|
||||||
|
IronResourceBar = Cast<UProgressBar>(HUD->GetWidgetFromName("IronResourceBar"));
|
||||||
|
SulfurResourceBar = Cast<UProgressBar>(HUD->GetWidgetFromName("SulfurResourceBar"));
|
||||||
CastButton = Cast<UButton>(HUD->GetWidgetFromName("CastButton"));
|
CastButton = Cast<UButton>(HUD->GetWidgetFromName("CastButton"));
|
||||||
FButton = Cast<UButton>(HUD->GetWidgetFromName("FButton"));
|
FButton = Cast<UButton>(HUD->GetWidgetFromName("FButton"));
|
||||||
WButton = Cast<UButton>(HUD->GetWidgetFromName("WButton"));
|
WButton = Cast<UButton>(HUD->GetWidgetFromName("WButton"));
|
||||||
@ -68,10 +70,23 @@ void ATurnBaseCombat::ExecuteCast(FString Combo)
|
|||||||
if (!IsValidCombo(Combo))
|
if (!IsValidCombo(Combo))
|
||||||
{
|
{
|
||||||
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("Invalid Combo"));
|
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("Invalid Combo"));
|
||||||
|
//For each character in the current combo add back the resource
|
||||||
|
for (int i = 0; i < Combo.Len(); i++)
|
||||||
|
{
|
||||||
|
if (Combo[i] == 'F')
|
||||||
|
{
|
||||||
|
IronResource += 1;
|
||||||
|
}
|
||||||
|
else if (Combo[i] == 'W')
|
||||||
|
{
|
||||||
|
SulfurResource += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
CurrentComboString = "";
|
CurrentComboString = "";
|
||||||
UpdateComboString(CurrentComboString);
|
UpdateComboString(CurrentComboString);
|
||||||
RevertActionPoints();
|
RevertActionPoints();
|
||||||
UpdateActionPoints();
|
UpdateActionPoints();
|
||||||
|
UpdateResourceBars();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -105,7 +120,7 @@ void ATurnBaseCombat::ExecuteCast(FString Combo)
|
|||||||
EndCombat();
|
EndCombat();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
SwitchTurn();
|
SwitchTurn();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -177,6 +192,8 @@ void ATurnBaseCombat::FButtonOnClick()
|
|||||||
UseActionPoint();
|
UseActionPoint();
|
||||||
CurrentComboString.AppendChar('F');
|
CurrentComboString.AppendChar('F');
|
||||||
UpdateComboString(CurrentComboString);
|
UpdateComboString(CurrentComboString);
|
||||||
|
IronResource -= 1;
|
||||||
|
UpdateResourceBars();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ATurnBaseCombat::WButtonOnClick()
|
void ATurnBaseCombat::WButtonOnClick()
|
||||||
@ -189,6 +206,8 @@ void ATurnBaseCombat::WButtonOnClick()
|
|||||||
UseActionPoint();
|
UseActionPoint();
|
||||||
CurrentComboString.AppendChar('W');
|
CurrentComboString.AppendChar('W');
|
||||||
UpdateComboString(CurrentComboString);
|
UpdateComboString(CurrentComboString);
|
||||||
|
SulfurResource -= 1;
|
||||||
|
UpdateResourceBars();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ATurnBaseCombat::BackspaceButtonOnClick()
|
void ATurnBaseCombat::BackspaceButtonOnClick()
|
||||||
@ -199,8 +218,17 @@ void ATurnBaseCombat::BackspaceButtonOnClick()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ReuseActionPoint();
|
ReuseActionPoint();
|
||||||
|
if (CurrentComboString.Right(1) == "F")
|
||||||
|
{
|
||||||
|
IronResource += 1;
|
||||||
|
}
|
||||||
|
else if (CurrentComboString.Right(1) == "W")
|
||||||
|
{
|
||||||
|
SulfurResource += 1;
|
||||||
|
}
|
||||||
CurrentComboString.RemoveAt(CurrentComboString.Len() - 1);
|
CurrentComboString.RemoveAt(CurrentComboString.Len() - 1);
|
||||||
UpdateComboString(CurrentComboString);
|
UpdateComboString(CurrentComboString);
|
||||||
|
UpdateResourceBars();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ATurnBaseCombat::UpdateComboString(FString NewCombo) const
|
void ATurnBaseCombat::UpdateComboString(FString NewCombo) const
|
||||||
@ -233,3 +261,9 @@ void ATurnBaseCombat::UpdateBattleLog()
|
|||||||
}
|
}
|
||||||
BattleLogTextBlock->SetText(FText::FromString(BattleLog));
|
BattleLogTextBlock->SetText(FText::FromString(BattleLog));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ATurnBaseCombat::UpdateResourceBars() const
|
||||||
|
{
|
||||||
|
IronResourceBar->SetPercent(IronResource / 10.0f);
|
||||||
|
SulfurResourceBar->SetPercent(SulfurResource / 10.0f);
|
||||||
|
}
|
||||||
|
@ -28,6 +28,10 @@ public:
|
|||||||
int DefaultActionPoints = 3;
|
int DefaultActionPoints = 3;
|
||||||
UPROPERTY(EditDefaultsOnly)
|
UPROPERTY(EditDefaultsOnly)
|
||||||
int ActiveActionPoints = 0;
|
int ActiveActionPoints = 0;
|
||||||
|
UPROPERTY(EditDefaultsOnly)
|
||||||
|
int IronResource = 10; // F
|
||||||
|
UPROPERTY(EditDefaultsOnly)
|
||||||
|
int SulfurResource = 10; // W
|
||||||
|
|
||||||
// AActor* PlayerActor;
|
// AActor* PlayerActor;
|
||||||
UPROPERTY(VisibleAnywhere)
|
UPROPERTY(VisibleAnywhere)
|
||||||
@ -97,6 +101,12 @@ private:
|
|||||||
UPROPERTY(VisibleAnywhere)
|
UPROPERTY(VisibleAnywhere)
|
||||||
UProgressBar* EnemyHealthBar;
|
UProgressBar* EnemyHealthBar;
|
||||||
|
|
||||||
|
UPROPERTY(VisibleAnywhere)
|
||||||
|
UProgressBar* IronResourceBar;
|
||||||
|
|
||||||
|
UPROPERTY(VisibleAnywhere)
|
||||||
|
UProgressBar* SulfurResourceBar;
|
||||||
|
|
||||||
UPROPERTY(VisibleAnywhere)
|
UPROPERTY(VisibleAnywhere)
|
||||||
UButton* CastButton;
|
UButton* CastButton;
|
||||||
|
|
||||||
@ -127,4 +137,5 @@ private:
|
|||||||
void AddBattleLogMessage(FString Message);
|
void AddBattleLogMessage(FString Message);
|
||||||
void ClearBattleLog();
|
void ClearBattleLog();
|
||||||
void UpdateBattleLog();
|
void UpdateBattleLog();
|
||||||
|
void UpdateResourceBars() const;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user