56 lines
1.7 KiB
C++
56 lines
1.7 KiB
C++
// © 2024 Long Ly. All rights reserved. Any unauthorized use, reproduction, or distribution of this trademark is strictly prohibited and may result in legal action.
|
|
|
|
|
|
#include "ModularGameplayActors/OLSModularGameState.h"
|
|
|
|
#include "Components/GameFrameworkComponentManager.h"
|
|
#include "Components/GameStateComponent.h"
|
|
|
|
void AOLSModularGameStateBase::PreInitializeComponents()
|
|
{
|
|
Super::PreInitializeComponents();
|
|
UGameFrameworkComponentManager::AddGameFrameworkComponentReceiver(this);
|
|
}
|
|
|
|
void AOLSModularGameStateBase::BeginPlay()
|
|
{
|
|
UGameFrameworkComponentManager::SendGameFrameworkComponentExtensionEvent(this, UGameFrameworkComponentManager::NAME_GameActorReady);
|
|
Super::BeginPlay();
|
|
}
|
|
|
|
void AOLSModularGameStateBase::EndPlay(const EEndPlayReason::Type endPlayReason)
|
|
{
|
|
UGameFrameworkComponentManager::RemoveGameFrameworkComponentReceiver(this);
|
|
Super::EndPlay(endPlayReason);
|
|
}
|
|
|
|
void AOLSModularGameState::PreInitializeComponents()
|
|
{
|
|
Super::PreInitializeComponents();
|
|
UGameFrameworkComponentManager::AddGameFrameworkComponentReceiver(this);
|
|
}
|
|
|
|
void AOLSModularGameState::BeginPlay()
|
|
{
|
|
UGameFrameworkComponentManager::SendGameFrameworkComponentExtensionEvent(this, UGameFrameworkComponentManager::NAME_GameActorReady);
|
|
Super::BeginPlay();
|
|
}
|
|
|
|
void AOLSModularGameState::EndPlay(const EEndPlayReason::Type endPlayReason)
|
|
{
|
|
UGameFrameworkComponentManager::RemoveGameFrameworkComponentReceiver(this);
|
|
Super::EndPlay(endPlayReason);
|
|
}
|
|
|
|
void AOLSModularGameState::HandleMatchHasStarted()
|
|
{
|
|
Super::HandleMatchHasStarted();
|
|
|
|
TArray<UGameStateComponent*> modularComponents;
|
|
GetComponents(modularComponents);
|
|
for (UGameStateComponent* component : modularComponents)
|
|
{
|
|
component->HandleMatchHasStarted();
|
|
}
|
|
}
|