-
在项目开发中,涉及到数据初始化,一个类可能需要依赖另一个类的初始化。因此在某些时候,需要把一个类的初始化的优先级提高。
-
针对不同Actor的BeginPlay在运行时的执行顺序,有兴趣的可以自行去测试。(意义不大)
-
下面提供一种方法,使一个Actor的BeginPlay的优先级提高到GameMode之前。
方法重写GameMode的StartPlay方法
在AGridManager的BeginPlay的方法的执行顺序会提前。
void AxxxxGameMode::StartPlay()
{
for (TActorIterator ActorItr(GetWorld()); ActorItr; ++ActorItr)
{
AGridManager* GridManager = *ActorItr;
GridManager->DispatchBeginPlay();
}
UE_LOG(LogTemp, Warning, TEXT("hhh"));
Super::StartPlay();
}



