feat: 增强场景工具,添加检查点服务和主摄像机音频监听器引用,优化事件处理逻辑

This commit is contained in:
2026-05-20 18:52:57 +08:00
parent 28c1059fe2
commit d9bda9daa5
2 changed files with 14 additions and 1 deletions

View File

@@ -49,6 +49,7 @@ namespace BaseGames.Editor
GameObject gameManagerGo = GetOrCreateChild(services, "GameManager").gameObject;
GameObject audioManagerGo = GetOrCreateChild(services, "AudioManager").gameObject;
GameObject saveManagerGo = GetOrCreateChild(services, "GameSaveManager").gameObject;
GameObject checkpointServiceGo = GetOrCreateChild(services, "CheckpointService").gameObject;
GameServiceRegistrar registrar = GetOrAddComponent<GameServiceRegistrar>(registrarGo);
DeathRespawnService deathRespawnService = GetOrAddComponent<DeathRespawnService>(deathRespawnGo);
@@ -60,6 +61,7 @@ namespace BaseGames.Editor
GameManager gameManager = GetOrAddComponent<GameManager>(gameManagerGo);
AudioManager audioManager = GetOrAddComponent<AudioManager>(audioManagerGo);
GameSaveManager gameSaveManager = GetOrAddComponent<GameSaveManager>(saveManagerGo);
CheckpointService checkpointService = GetOrAddComponent<CheckpointService>(checkpointServiceGo);
GameObject inputHolderGo = GetOrCreateChild(input, "InputReaderHolder").gameObject;
Object inputReaderAsset = FindFirstAssetByType<InputReaderSO>("InputReader", "InputReaderSO");
@@ -81,7 +83,7 @@ namespace BaseGames.Editor
mainCamera.orthographic = false;
mainCamera.fieldOfView = 60f;
mainCameraGo.tag = "MainCamera";
GetOrAddComponent<AudioListener>(mainCameraGo);
AudioListener mainCameraAudioListener = GetOrAddComponent<AudioListener>(mainCameraGo);
CinemachineBrain brain = GetOrAddComponent<CinemachineBrain>(mainCameraGo);
GameObject cameraStateGo = GetOrCreateChild(camera, "CameraStateController").gameObject;
@@ -173,6 +175,8 @@ namespace BaseGames.Editor
AssignReference(registrar, "_sceneService", sceneService);
AssignReference(registrar, "_eventChannelRegistry", registry);
AssignReference(registrar, "_saveManager", gameSaveManager);
AssignReference(registrar, "_checkpointService", checkpointService);
AssignReference(registrar, "_primaryListener", mainCameraAudioListener);
AssignReference(gameManager, "_settingsManager", settingsManager);
AssignAsset(gameManager, "_onPlayerDied", report, true, "EVT_PlayerDied");
@@ -194,9 +198,12 @@ namespace BaseGames.Editor
AssignAsset(deathRespawnService, "_onRespawnStarted", report, false, "EVT_RespawnStarted");
AssignAsset(deathRespawnService, "_onRespawnCompleted", report, false, "EVT_RespawnCompleted");
AssignAsset(deathRespawnService, "_onDeathScreenConfirmed", report, true, "EVT_DeathScreenConfirmed");
AssignAsset(deathRespawnService, "_onSceneLoadRequest", report, false, "EVT_SceneLoadRequest");
AssignAsset(settingsManager, "_defaultSettings", report, false, "SET_GlobalSettings");
AssignAsset(checkpointService, "_onSceneLoaded", report, false, "EVT_SceneLoaded");
AssignAsset(audioManager, "_onPlayerDied", report, false, "EVT_PlayerDied");
AssignReference(cameraStateController, "_brain", brain);