feat: 增强场景工具,添加检查点服务和主摄像机音频监听器引用,优化事件处理逻辑
This commit is contained in:
@@ -114,6 +114,10 @@ namespace BaseGames.Editor
|
|||||||
AssignReference(playerController, "_shield", shield, report);
|
AssignReference(playerController, "_shield", shield, report);
|
||||||
AssignReference(playerController, "_wallDetector", wallDetector, report);
|
AssignReference(playerController, "_wallDetector", wallDetector, report);
|
||||||
|
|
||||||
|
// ── 其他组件内部引用 ────────────────────────────────────────────────
|
||||||
|
AssignReference(playerCombat, "_weaponManager", weaponManager, report);
|
||||||
|
AssignReference(springSystem, "_stats", playerStats, report);
|
||||||
|
|
||||||
// ── 事件频道(可选,缺失时跳过) ───────────────────────────────────
|
// ── 事件频道(可选,缺失时跳过) ───────────────────────────────────
|
||||||
AssignAsset(playerStats, "_onHPChanged", report, false, "EVT_HPChanged");
|
AssignAsset(playerStats, "_onHPChanged", report, false, "EVT_HPChanged");
|
||||||
AssignAsset(playerStats, "_onMaxHPChanged", report, false, "EVT_MaxHPChanged");
|
AssignAsset(playerStats, "_onMaxHPChanged", report, false, "EVT_MaxHPChanged");
|
||||||
@@ -127,6 +131,8 @@ namespace BaseGames.Editor
|
|||||||
AssignAsset(playerController, "_onPlayerSpawned", report, false, "EVT_PlayerSpawned");
|
AssignAsset(playerController, "_onPlayerSpawned", report, false, "EVT_PlayerSpawned");
|
||||||
AssignAsset(hurtBox, "_onDamageDealt", report, false, "EVT_DamageDealt");
|
AssignAsset(hurtBox, "_onDamageDealt", report, false, "EVT_DamageDealt");
|
||||||
AssignAsset(hurtBox, "_onHitConfirmed", report, false, "EVT_HitConfirmed");
|
AssignAsset(hurtBox, "_onHitConfirmed", report, false, "EVT_HitConfirmed");
|
||||||
|
AssignAsset(springSystem, "_onEnemyDied", report, false, "EVT_EnemyDied");
|
||||||
|
AssignAsset(parrySystem, "_onParrySuccess", report, false, "EVT_ParrySuccess");
|
||||||
|
|
||||||
// ── Config SO 自动查找(资产存在时自动绑定)──────────────────────
|
// ── Config SO 自动查找(资产存在时自动绑定)──────────────────────
|
||||||
Object statsConfig = FindFirstAsset("PLY_PlayerStats");
|
Object statsConfig = FindFirstAsset("PLY_PlayerStats");
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ namespace BaseGames.Editor
|
|||||||
GameObject gameManagerGo = GetOrCreateChild(services, "GameManager").gameObject;
|
GameObject gameManagerGo = GetOrCreateChild(services, "GameManager").gameObject;
|
||||||
GameObject audioManagerGo = GetOrCreateChild(services, "AudioManager").gameObject;
|
GameObject audioManagerGo = GetOrCreateChild(services, "AudioManager").gameObject;
|
||||||
GameObject saveManagerGo = GetOrCreateChild(services, "GameSaveManager").gameObject;
|
GameObject saveManagerGo = GetOrCreateChild(services, "GameSaveManager").gameObject;
|
||||||
|
GameObject checkpointServiceGo = GetOrCreateChild(services, "CheckpointService").gameObject;
|
||||||
|
|
||||||
GameServiceRegistrar registrar = GetOrAddComponent<GameServiceRegistrar>(registrarGo);
|
GameServiceRegistrar registrar = GetOrAddComponent<GameServiceRegistrar>(registrarGo);
|
||||||
DeathRespawnService deathRespawnService = GetOrAddComponent<DeathRespawnService>(deathRespawnGo);
|
DeathRespawnService deathRespawnService = GetOrAddComponent<DeathRespawnService>(deathRespawnGo);
|
||||||
@@ -60,6 +61,7 @@ namespace BaseGames.Editor
|
|||||||
GameManager gameManager = GetOrAddComponent<GameManager>(gameManagerGo);
|
GameManager gameManager = GetOrAddComponent<GameManager>(gameManagerGo);
|
||||||
AudioManager audioManager = GetOrAddComponent<AudioManager>(audioManagerGo);
|
AudioManager audioManager = GetOrAddComponent<AudioManager>(audioManagerGo);
|
||||||
GameSaveManager gameSaveManager = GetOrAddComponent<GameSaveManager>(saveManagerGo);
|
GameSaveManager gameSaveManager = GetOrAddComponent<GameSaveManager>(saveManagerGo);
|
||||||
|
CheckpointService checkpointService = GetOrAddComponent<CheckpointService>(checkpointServiceGo);
|
||||||
|
|
||||||
GameObject inputHolderGo = GetOrCreateChild(input, "InputReaderHolder").gameObject;
|
GameObject inputHolderGo = GetOrCreateChild(input, "InputReaderHolder").gameObject;
|
||||||
Object inputReaderAsset = FindFirstAssetByType<InputReaderSO>("InputReader", "InputReaderSO");
|
Object inputReaderAsset = FindFirstAssetByType<InputReaderSO>("InputReader", "InputReaderSO");
|
||||||
@@ -81,7 +83,7 @@ namespace BaseGames.Editor
|
|||||||
mainCamera.orthographic = false;
|
mainCamera.orthographic = false;
|
||||||
mainCamera.fieldOfView = 60f;
|
mainCamera.fieldOfView = 60f;
|
||||||
mainCameraGo.tag = "MainCamera";
|
mainCameraGo.tag = "MainCamera";
|
||||||
GetOrAddComponent<AudioListener>(mainCameraGo);
|
AudioListener mainCameraAudioListener = GetOrAddComponent<AudioListener>(mainCameraGo);
|
||||||
CinemachineBrain brain = GetOrAddComponent<CinemachineBrain>(mainCameraGo);
|
CinemachineBrain brain = GetOrAddComponent<CinemachineBrain>(mainCameraGo);
|
||||||
|
|
||||||
GameObject cameraStateGo = GetOrCreateChild(camera, "CameraStateController").gameObject;
|
GameObject cameraStateGo = GetOrCreateChild(camera, "CameraStateController").gameObject;
|
||||||
@@ -173,6 +175,8 @@ namespace BaseGames.Editor
|
|||||||
AssignReference(registrar, "_sceneService", sceneService);
|
AssignReference(registrar, "_sceneService", sceneService);
|
||||||
AssignReference(registrar, "_eventChannelRegistry", registry);
|
AssignReference(registrar, "_eventChannelRegistry", registry);
|
||||||
AssignReference(registrar, "_saveManager", gameSaveManager);
|
AssignReference(registrar, "_saveManager", gameSaveManager);
|
||||||
|
AssignReference(registrar, "_checkpointService", checkpointService);
|
||||||
|
AssignReference(registrar, "_primaryListener", mainCameraAudioListener);
|
||||||
|
|
||||||
AssignReference(gameManager, "_settingsManager", settingsManager);
|
AssignReference(gameManager, "_settingsManager", settingsManager);
|
||||||
AssignAsset(gameManager, "_onPlayerDied", report, true, "EVT_PlayerDied");
|
AssignAsset(gameManager, "_onPlayerDied", report, true, "EVT_PlayerDied");
|
||||||
@@ -194,9 +198,12 @@ namespace BaseGames.Editor
|
|||||||
AssignAsset(deathRespawnService, "_onRespawnStarted", report, false, "EVT_RespawnStarted");
|
AssignAsset(deathRespawnService, "_onRespawnStarted", report, false, "EVT_RespawnStarted");
|
||||||
AssignAsset(deathRespawnService, "_onRespawnCompleted", report, false, "EVT_RespawnCompleted");
|
AssignAsset(deathRespawnService, "_onRespawnCompleted", report, false, "EVT_RespawnCompleted");
|
||||||
AssignAsset(deathRespawnService, "_onDeathScreenConfirmed", report, true, "EVT_DeathScreenConfirmed");
|
AssignAsset(deathRespawnService, "_onDeathScreenConfirmed", report, true, "EVT_DeathScreenConfirmed");
|
||||||
|
AssignAsset(deathRespawnService, "_onSceneLoadRequest", report, false, "EVT_SceneLoadRequest");
|
||||||
|
|
||||||
AssignAsset(settingsManager, "_defaultSettings", report, false, "SET_GlobalSettings");
|
AssignAsset(settingsManager, "_defaultSettings", report, false, "SET_GlobalSettings");
|
||||||
|
|
||||||
|
AssignAsset(checkpointService, "_onSceneLoaded", report, false, "EVT_SceneLoaded");
|
||||||
|
|
||||||
AssignAsset(audioManager, "_onPlayerDied", report, false, "EVT_PlayerDied");
|
AssignAsset(audioManager, "_onPlayerDied", report, false, "EVT_PlayerDied");
|
||||||
|
|
||||||
AssignReference(cameraStateController, "_brain", brain);
|
AssignReference(cameraStateController, "_brain", brain);
|
||||||
|
|||||||
Reference in New Issue
Block a user