Skip to content

Commit 7eb8536

Browse files
committed
Added power decay to player's character
1 parent 0087e2a commit 7eb8536

2 files changed

Lines changed: 29 additions & 0 deletions

File tree

Source/BatteryCollector/BatteryCollectorGameMode.cpp

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#include "BatteryCollector.h"
44
#include "BatteryCollectorGameMode.h"
55
#include "BatteryCollectorCharacter.h"
6+
#include "Kismet/GameplayStatics.h"
67

78
ABatteryCollectorGameMode::ABatteryCollectorGameMode()
89
{
@@ -12,4 +13,25 @@ ABatteryCollectorGameMode::ABatteryCollectorGameMode()
1213
{
1314
DefaultPawnClass = PlayerPawnBPClass.Class;
1415
}
16+
17+
//base decay rate
18+
DecayRate = 0.01f;
1519
}
20+
21+
void ABatteryCollectorGameMode::Tick(float DeltaTime)
22+
{
23+
Super::Tick(DeltaTime);
24+
25+
// Check that we are using the battery collector character
26+
ABatteryCollectorCharacter* MyCharacter = Cast<ABatteryCollectorCharacter>(UGameplayStatics::GetPlayerPawn(this, 0));
27+
if (MyCharacter)
28+
{
29+
// if the character's power is positive
30+
if (MyCharacter->GetCurrentPower() > 0)
31+
{
32+
// decrease the character's power
33+
MyCharacter->UpdatePower(-DeltaTime*DecayRate*(MyCharacter->GetInitialPower()));
34+
}
35+
}
36+
37+
}

Source/BatteryCollector/BatteryCollectorGameMode.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,13 @@ class ABatteryCollectorGameMode : public AGameMode
1010

1111
public:
1212
ABatteryCollectorGameMode();
13+
14+
virtual void Tick(float DeltaTime) override;
15+
16+
protected:
17+
/**The rate at which the character loses power */
18+
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Power")
19+
float DecayRate;
1320
};
1421

1522

0 commit comments

Comments
 (0)