// © 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 modularComponents; GetComponents(modularComponents); for (UGameStateComponent* component : modularComponents) { component->HandleMatchHasStarted(); } }