237885e3b8
- SystemDriver: EffectManager改为值持有,去掉TUniquePtr和条件编译 - SystemDriver: 补充EngineUtils.h include修复TActorIterator编译错误 - GameMode: BeginPlay自动Spawn ASystemDriver - InteractableActor: 改为abstract基类,子类自行创建交互组件 - DoorActor: 创建DoorInteractableComp替代基类组件 - EffectManager: 实现ExecuteToggleDoor调用实际门开关逻辑 - InteractableComponent/DoorComponent: 修复GetGameInstance路径和调用方式 - EffectManager: Broadcast改为Execute(单播委托)
27 lines
668 B
C++
27 lines
668 B
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "ChildHoodGameMode.h"
|
|
#include "SystemDriver.h"
|
|
|
|
AChildHoodGameMode::AChildHoodGameMode()
|
|
{
|
|
// stub
|
|
}
|
|
|
|
void AChildHoodGameMode::BeginPlay()
|
|
{
|
|
Super::BeginPlay();
|
|
|
|
// 自动 Spawn ASystemDriver(全局交互系统驱动器)
|
|
// 如果关卡中已手动放置则跳过,避免重复
|
|
if (UWorld* World = GetWorld())
|
|
{
|
|
if (!ASystemDriver::Get(this))
|
|
{
|
|
FActorSpawnParameters SpawnParams;
|
|
SpawnParams.SpawnCollisionHandlingOverride = ESpawnActorCollisionHandlingMethod::AlwaysSpawn;
|
|
World->SpawnActor<ASystemDriver>(ASystemDriver::StaticClass(), FTransform::Identity, SpawnParams);
|
|
}
|
|
}
|
|
}
|