Space Plunder
Loading...
Searching...
No Matches
AMenuSystemPlayerState Class Reference

#include <MenuSystemPlayerState.h>

Inheritance diagram for AMenuSystemPlayerState:
IOnlinePlayerState ACustomPlayerState

Public Member Functions

virtual void CopyProperties (APlayerState *PlayerState) override
 
virtual void OverrideWith (class APlayerState *PlayerState) override
 
virtual void BeginPlay () override
 
virtual void SetGenericTeamId (const FGenericTeamId &NewTeamID) override
 
virtual FGenericTeamId GetGenericTeamId () const override
 
int32 GetTeamID () const
 
virtual FUserProfile GetUserProfile () const override
 
virtual FString GetPlayerName () const override
 
virtual void SetUserProfile (const FUserProfile &UpdatedUserProfile) override
 
FMultiplayerPlayerStats GetMultiplayerStats () const
 
void SetMultiplayerStats (const FMultiplayerPlayerStats UpdatedMultiplayerStats)
 
void StartRespawnTimer (const int32 WaitTime)
 
virtual FString GetPlayerNameCustom () const override
 
void AddRespawnPenalty (const int32 Penalty=1.0f)
 

Public Attributes

FOnReadyToRespawn OnReadyToRespawn
 
FGenericTeamId MyTeamID
 
uint8 MultiplayerTeamID = 0
 
TArray< FPlayerDeathDeaths
 
TArray< FPlayerDeathKills
 

Protected Attributes

FUserProfile UserProfile
 
FMultiplayerPlayerStats MultiplayerPlayerStats
 

Private Member Functions

void OnRep_MyTeamID (FGenericTeamId OldTeamID)
 
void RespawnTimer ()
 

Private Attributes

int32 RespawnTime = 10
 
int32 RespawnPenalty = 0
 
bool bInLobby = false
 
FTimerHandle RespawnTimerHandle
 

Member Function Documentation

◆ AddRespawnPenalty()

void AMenuSystemPlayerState::AddRespawnPenalty ( const int32 Penalty = 1.0f)
inline
72{RespawnPenalty += Penalty;};
int32 RespawnPenalty
Definition MenuSystemPlayerState.h:93

◆ BeginPlay()

void AMenuSystemPlayerState::BeginPlay ( )
overridevirtual
40{
41 Super::BeginPlay();
42 //- Only Gets Offline Profile //
43 // IMenuSystem* MenuInterface = Cast<IMenuSystem>(GetGameInstance());
44 // if(MenuInterface != nullptr)
45 // {
46 // const bool bSuccess = MenuInterface->LoadOfflinePlayerProfile(UserProfile);
47 // if(bSuccess)
48 // {
49 // UE_LOG(LogMenuSystem, Warning, TEXT("Profile Loaded in PLAYER STATE: XP %s"), *UserProfile.DisplayName);
50 // }
51 // }
52}

◆ CopyProperties()

void AMenuSystemPlayerState::CopyProperties ( APlayerState * PlayerState)
overridevirtual
11{
12 Super::CopyProperties(PlayerState);
13 if(IsValid(PlayerState))
14 {
15 AMenuSystemPlayerState* CustomPlayerState = Cast<AMenuSystemPlayerState>(PlayerState);
16 if(IsValid(CustomPlayerState))
17 {
18 CustomPlayerState->Deaths = Deaths;
19 CustomPlayerState->Kills = Kills;
20 CustomPlayerState->MyTeamID = MyTeamID;
21 CustomPlayerState->MultiplayerTeamID = MultiplayerTeamID;
22 }
23 }
24}
Definition MenuSystemPlayerState.h:19
TArray< FPlayerDeath > Kills
Definition MenuSystemPlayerState.h:66
TArray< FPlayerDeath > Deaths
Definition MenuSystemPlayerState.h:64
FGenericTeamId MyTeamID
Definition MenuSystemPlayerState.h:37
uint8 MultiplayerTeamID
Definition MenuSystemPlayerState.h:39

◆ GetGenericTeamId()

FGenericTeamId AMenuSystemPlayerState::GetGenericTeamId ( ) const
overridevirtual
73{
74 return MyTeamID;
75}

◆ GetMultiplayerStats()

FMultiplayerPlayerStats AMenuSystemPlayerState::GetMultiplayerStats ( ) const
inline
FMultiplayerPlayerStats MultiplayerPlayerStats
Definition MenuSystemPlayerState.h:79

◆ GetPlayerName()

FString AMenuSystemPlayerState::GetPlayerName ( ) const
overridevirtual

Implements IOnlinePlayerState.

101{
102 return GetPlayerNameCustom();
103}
virtual FString GetPlayerNameCustom() const override
Definition MenuSystemPlayerState.cpp:95

◆ GetPlayerNameCustom()

FString AMenuSystemPlayerState::GetPlayerNameCustom ( ) const
overridevirtual
96{
97 return UserProfile.IsValid() ? UserProfile.DisplayName : Super::GetPlayerNameCustom();
98}
FUserProfile UserProfile
Definition MenuSystemPlayerState.h:77
bool IsValid() const
Definition BaseData.h:1288
FString DisplayName
Definition BaseData.h:1243

◆ GetTeamID()

int32 AMenuSystemPlayerState::GetTeamID ( ) const
inline
45{return (MyTeamID == FGenericTeamId::NoTeam) ? INDEX_NONE : (int32)MyTeamID;};

◆ GetUserProfile()

virtual FUserProfile AMenuSystemPlayerState::GetUserProfile ( ) const
inlineoverridevirtual

Implements IOnlinePlayerState.

49{return UserProfile;};

◆ OnRep_MyTeamID()

void AMenuSystemPlayerState::OnRep_MyTeamID ( FGenericTeamId OldTeamID)
private
106{
107 if(OldTeamID != MyTeamID)
108 {
109 //broadcastTeamChange
110 }
111}

◆ OverrideWith()

void AMenuSystemPlayerState::OverrideWith ( class APlayerState * PlayerState)
overridevirtual
27{
28 Super::OverrideWith(PlayerState);
29 if (IsValid(PlayerState))
30 {
31 const AMenuSystemPlayerState* CustomPlayerState = Cast<AMenuSystemPlayerState>(PlayerState);
32 if(IsValid(CustomPlayerState))
33 {
34 // SomeVariable = CustomPlayerState->SomeVariable;
35 }
36 }
37}

◆ RespawnTimer()

void AMenuSystemPlayerState::RespawnTimer ( )
private
84{
86 UE_LOG(LogTemp, Warning, TEXT("Wating to Respawn: %i"), RespawnTime);
87
88 if(RespawnTime <= 0)
89 {
90 GetWorldTimerManager().ClearTimer(RespawnTimerHandle);
91 OnReadyToRespawn.Broadcast(GetPlayerController());
92 }
93}
FOnReadyToRespawn OnReadyToRespawn
Definition MenuSystemPlayerState.h:26
int32 RespawnTime
Definition MenuSystemPlayerState.h:91
FTimerHandle RespawnTimerHandle
Definition MenuSystemPlayerState.h:97

◆ SetGenericTeamId()

void AMenuSystemPlayerState::SetGenericTeamId ( const FGenericTeamId & NewTeamID)
overridevirtual
55{
56 if(HasAuthority())
57 {
58 const FGenericTeamId OldTeamID = MyTeamID;
59
60 // MARK_PROPERTY_DIRTY_FROM_NAME(ThisClass, MyTeamID, this);
61 MyTeamID = NewTeamID;
62 UE_LOG(LogTemp, Error, TEXT("team %i"), NewTeamID.GetId());
63
64 // ConditionalBroadcastTeamChanged(this, OldTeamID, NewTeamID);
65 }
66 else
67 {
68 UE_LOG(LogTemp, Error, TEXT("Cannot set team for %s on non-authority"), *GetPathName(this));
69 }
70}

◆ SetMultiplayerStats()

void AMenuSystemPlayerState::SetMultiplayerStats ( const FMultiplayerPlayerStats UpdatedMultiplayerStats)
inline
61{MultiplayerPlayerStats = UpdatedMultiplayerStats;};

◆ SetUserProfile()

virtual void AMenuSystemPlayerState::SetUserProfile ( const FUserProfile & UpdatedUserProfile)
inlineoverridevirtual

Implements IOnlinePlayerState.

55{UserProfile = UpdatedUserProfile;};

◆ StartRespawnTimer()

void AMenuSystemPlayerState::StartRespawnTimer ( const int32 WaitTime)
78{
79 RespawnTime = WaitTime + RespawnPenalty;
80 GetWorldTimerManager().SetTimer(RespawnTimerHandle, this, &AMenuSystemPlayerState::RespawnTimer, 1.0f, true);
81}
void RespawnTimer()
Definition MenuSystemPlayerState.cpp:83

Member Data Documentation

◆ bInLobby

bool AMenuSystemPlayerState::bInLobby = false
private

◆ Deaths

TArray<FPlayerDeath> AMenuSystemPlayerState::Deaths

◆ Kills

TArray<FPlayerDeath> AMenuSystemPlayerState::Kills

◆ MultiplayerPlayerStats

FMultiplayerPlayerStats AMenuSystemPlayerState::MultiplayerPlayerStats
protected

◆ MultiplayerTeamID

uint8 AMenuSystemPlayerState::MultiplayerTeamID = 0

◆ MyTeamID

FGenericTeamId AMenuSystemPlayerState::MyTeamID

◆ OnReadyToRespawn

FOnReadyToRespawn AMenuSystemPlayerState::OnReadyToRespawn

◆ RespawnPenalty

int32 AMenuSystemPlayerState::RespawnPenalty = 0
private

◆ RespawnTime

int32 AMenuSystemPlayerState::RespawnTime = 10
private

◆ RespawnTimerHandle

FTimerHandle AMenuSystemPlayerState::RespawnTimerHandle
private

◆ UserProfile

FUserProfile AMenuSystemPlayerState::UserProfile
protected

The documentation for this class was generated from the following files: