feat(editor): 敌人/Boss 放置脚手架绑定 EnemyBase._bodyCollider(身体几何唯一权威)

This commit is contained in:
2026-07-27 13:17:38 +08:00
parent 33a52c4531
commit 7cba58919f
@@ -317,6 +317,7 @@ namespace BaseGames.Editor
AssignReference(enemyBase, "_movement", movement, report);
AssignReference(enemyBase, "_animancer", animancer, report);
AssignReference(enemyBase, "_hurtBox", hurtBox, report);
AssignReference(enemyBase, "_bodyCollider", body, report); // 身体几何唯一权威(EnemyBase.Body
AssignAsset(enemyBase, "_onEnemyDied", report, false, "EVT_EnemyDied");
AssignAsset(enemyBase, "_onPlayerSpawned", report, false, "EVT_PlayerSpawned");
@@ -369,7 +370,7 @@ namespace BaseGames.Editor
rb.interpolation = RigidbodyInterpolation2D.Interpolate;
Vector2 size = SpriteSizeOr(defaultSprite, new Vector2(1.5f, 2.5f));
CreateBodyCollider(go, bodyCollider, size);
Collider2D body = CreateBodyCollider(go, bodyCollider, size);
GetOrAddComponent<Animator>(go);
SpriteRenderer sr = SetupSpriteRenderer(go);
if (defaultSprite != null) sr.sprite = defaultSprite;
@@ -383,6 +384,7 @@ namespace BaseGames.Editor
// References
AssignReference(bossBase, "_stats", bossStats, report);
AssignReference(bossBase, "_bodyCollider", body, report); // 身体几何唯一权威(EnemyBase.Body
// DamageSourceSO
Object dmgSrc = FindFirstAsset("CMB_DS_BossBody", "CMB_DS_EnemyBody", "DS_BossBody");
@@ -466,6 +468,7 @@ namespace BaseGames.Editor
AssignReference(enemyBase, "_movement", movement, report);
AssignReference(enemyBase, "_animancer", animancer, report);
AssignReference(enemyBase, "_hurtBox", hurtBox, report);
AssignReference(enemyBase, "_bodyCollider", body, report); // 身体几何唯一权威(EnemyBase.Body
AssignAsset(enemyBase, "_onEnemyDied", report, false, "EVT_EnemyDied");
AssignAsset(enemyBase, "_onPlayerSpawned", report, false, "EVT_PlayerSpawned");
AssignAsset(enemyStats, "_onDifficultyChanged", report, false, "EVT_DifficultyChanged");
@@ -569,6 +572,7 @@ namespace BaseGames.Editor
AssignReference(enemyBase, "_movement", movement, report);
AssignReference(enemyBase, "_animancer", animancer, report);
AssignReference(enemyBase, "_hurtBox", hurtBox, report);
AssignReference(enemyBase, "_bodyCollider", body, report); // 身体几何唯一权威(EnemyBase.Body
AssignAsset(enemyBase, "_onEnemyDied", report, false, "EVT_EnemyDied");
AssignAsset(enemyBase, "_onPlayerSpawned", report, false, "EVT_PlayerSpawned");
AssignAsset(enemyStats, "_onDifficultyChanged", report, false, "EVT_DifficultyChanged");
@@ -660,6 +664,7 @@ namespace BaseGames.Editor
AssignReference(enemyBase, "_movement", movement, report);
AssignReference(enemyBase, "_animancer", animancer, report);
AssignReference(enemyBase, "_hurtBox", hurtBox, report);
AssignReference(enemyBase, "_bodyCollider", body, report); // 身体几何唯一权威(EnemyBase.Body
AssignAsset(enemyBase, "_onEnemyDied", report, false, "EVT_EnemyDied");
AssignAsset(enemyBase, "_onPlayerSpawned", report, false, "EVT_PlayerSpawned");
AssignAsset(enemyStats, "_onDifficultyChanged", report, false, "EVT_DifficultyChanged");
@@ -777,6 +782,7 @@ namespace BaseGames.Editor
AssignReference(enemyBase, "_animancer", animancer, report);
AssignReference(enemyBase, "_feedback", feedback, report);
AssignReference(enemyBase, "_hurtBox", hurtBox, report);
AssignReference(enemyBase, "_bodyCollider", body, report); // 身体几何唯一权威(EnemyBase.Body
AssignAsset(enemyBase, "_onEnemyDied", report, false, "EVT_EnemyDied");
AssignAsset(enemyBase, "_onPlayerSpawned", report, false, "EVT_PlayerSpawned");
AssignAsset(enemyStats, "_onDifficultyChanged", report, false, "EVT_DifficultyChanged");
@@ -890,6 +896,7 @@ namespace BaseGames.Editor
AssignReference(enemyBase, "_movement", movement, report);
AssignReference(enemyBase, "_animancer", animancer, report);
AssignReference(enemyBase, "_hurtBox", hurtBox, report);
AssignReference(enemyBase, "_bodyCollider", body, report); // 身体几何唯一权威(EnemyBase.Body
AssignAsset(enemyBase, "_onEnemyDied", report, false, "EVT_EnemyDied");
AssignAsset(enemyBase, "_onPlayerSpawned", report, false, "EVT_PlayerSpawned");
AssignAsset(enemyStats, "_onDifficultyChanged", report, false, "EVT_DifficultyChanged");
@@ -999,6 +1006,7 @@ namespace BaseGames.Editor
AssignReference(enemyBase, "_movement", movement, report);
AssignReference(enemyBase, "_animancer", animancer, report);
AssignReference(enemyBase, "_hurtBox", hurtBox, report);
AssignReference(enemyBase, "_bodyCollider", body, report); // 身体几何唯一权威(EnemyBase.Body
AssignAsset(enemyBase, "_onEnemyDied", report, false, "EVT_EnemyDied");
AssignAsset(enemyBase, "_onPlayerSpawned", report, false, "EVT_PlayerSpawned");
AssignAsset(enemyStats, "_onDifficultyChanged", report, false, "EVT_DifficultyChanged");
@@ -1108,6 +1116,7 @@ namespace BaseGames.Editor
AssignReference(bossBase, "_animancer", animancer, report);
AssignReference(bossBase, "_feedback", feedback, report);
AssignReference(bossBase, "_hurtBox", hurtBox, report);
AssignReference(bossBase, "_bodyCollider", body, report); // 身体几何唯一权威(EnemyBase.Body
AssignReference(skillExec, "_animancer", animancer, report);
// 浮空 / 击落 / 弹体发射点接线(计划)