48 lines
1.4 KiB
C++
48 lines
1.4 KiB
C++
// Project Lab - NHTV Igad
|
|
|
|
#pragma once
|
|
|
|
#include "GameFramework/Pawn.h"
|
|
#include "DefaultPlayer.generated.h"
|
|
|
|
|
|
UCLASS(Config=Game)
|
|
class UNREALPROJECT_API ADefaultPlayer : public APawn
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
ADefaultPlayer();
|
|
|
|
virtual void BeginPlay() override;
|
|
virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override;
|
|
virtual void Tick(float DeltaSeconds) override;
|
|
|
|
// Resets the respawn timer
|
|
void OnSpawn();
|
|
|
|
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, meta = (AllowPrivateAccess = "true"))
|
|
class UCameraComponent* camera;
|
|
|
|
UPROPERTY(ReplicatedUsing=m_OnRep_RespawnTimer, BlueprintReadOnly, Category = "RespawnTimer")
|
|
float respawnTimer;
|
|
UPROPERTY(Replicated, BlueprintReadOnly, Category = "RespawnTimer")
|
|
bool isRespawning;
|
|
|
|
UPROPERTY(Config, BlueprintReadOnly)
|
|
float respawnDelay;
|
|
|
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnRespawnTimerSet, float, time);
|
|
UPROPERTY(BlueprintAssignable)
|
|
FOnRespawnTimerSet onRespawnTimerSet;
|
|
|
|
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, meta = (AllowPrivateAccess = "true"))
|
|
class USpringArmComponent* CameraBoom;
|
|
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, meta = (AllowPrivateAccess = "true"))
|
|
class UCameraComponent* TopDownCamera;
|
|
|
|
private:
|
|
UFUNCTION()
|
|
void m_OnRep_RespawnTimer();
|
|
};
|