diff --git a/Assets/_Game/Scripts/Enemies/Boss/BossResource.cs b/Assets/_Game/Scripts/Enemies/Boss/BossResource.cs
index 73b516bb..934745b0 100644
--- a/Assets/_Game/Scripts/Enemies/Boss/BossResource.cs
+++ b/Assets/_Game/Scripts/Enemies/Boss/BossResource.cs
@@ -9,7 +9,7 @@ namespace BaseGames.Boss
/// - 每帧以 自动积累或消耗。
/// - 受击时增加 。
/// - 技能使用时增加 。
- /// - 满值时若 ,自动让 BossBase 执行配置的技能。
+ /// - 满值时 为真,由 AI 图的条件边决定放什么招(决策不在本组件)。
///
public sealed class BossResource : MonoBehaviour
{
@@ -17,7 +17,6 @@ namespace BaseGames.Boss
[SerializeField] private BossBase _boss;
private float _currentValue;
- private bool _fullTriggered;
/// 当前资源值(0 ~ config.maxValue)。
public float CurrentValue => _currentValue;
@@ -59,14 +58,14 @@ namespace BaseGames.Boss
AddValue(_config.onTakeDamageGain);
}
- /// Boss 使用技能时调用。由 BossBase.UseBossSkill 触发。
+ /// Boss 使用技能时调用。由使用了资源的能力触发(Boss 的招在自己的 EnemyAbilityBase 里调用)。
public void OnBossUseSkill()
{
if (_config == null) return;
AddValue(_config.onSkillUseGain);
}
- /// 直接设置资源值(外部强制赋值,跳过满值触发)。
+ /// 直接设置资源值(外部强制赋值)。
public void SetValue(float value)
{
_currentValue = Mathf.Clamp(value, 0f, _config != null ? _config.maxValue : float.MaxValue);
@@ -76,33 +75,7 @@ namespace BaseGames.Boss
private void AddValue(float delta)
{
- float prev = _currentValue;
_currentValue = Mathf.Clamp(_currentValue + delta, 0f, _config.maxValue);
-
- // 满值触发(从未满→满时只触发一次)
- if (_config.autoTriggerOnFull &&
- _currentValue >= _config.maxValue &&
- prev < _config.maxValue &&
- !_fullTriggered)
- {
- _fullTriggered = true;
- OnReachFull();
- }
-
- if (_currentValue < _config.maxValue)
- _fullTriggered = false;
- }
-
- private void OnReachFull()
- {
- if (_config.fullTriggerSkill == null || _boss == null) return;
-
- _boss.UseBossSkill(_config.fullTriggerSkill.skillId);
-
- if (_config.resetValueAfterTrigger > 0f)
- _currentValue = _config.resetValueAfterTrigger;
- else
- _currentValue = 0f;
}
}
}
diff --git a/Assets/_Game/Scripts/Enemies/Boss/BossResourceConfigSO.cs b/Assets/_Game/Scripts/Enemies/Boss/BossResourceConfigSO.cs
index f27722ba..2d3461c8 100644
--- a/Assets/_Game/Scripts/Enemies/Boss/BossResourceConfigSO.cs
+++ b/Assets/_Game/Scripts/Enemies/Boss/BossResourceConfigSO.cs
@@ -5,6 +5,10 @@ namespace BaseGames.Boss
///
/// Boss 自身资源(如愤怒值)的配置 ScriptableObject。
///
+ ///
+ /// 资源满值不再由本组件自动放招——那是绕过决策层直接执行,违反「AI 只决策、能力负责实现」。
+ /// 现在的形态是:本组件只维护数值,AI 图挂一条 When(x => x.Boss.ResourceFull) 边进专属招态。
+ ///
[CreateAssetMenu(menuName = "BaseGames/Boss/ResourceConfig")]
public class BossResourceConfigSO : ScriptableObject
{
@@ -17,10 +21,5 @@ namespace BaseGames.Boss
public float passiveRate;
public float onTakeDamageGain;
public float onSkillUseGain;
-
- [Header("满值效果")]
- public bool autoTriggerOnFull;
- public BossSkillSO fullTriggerSkill;
- public float resetValueAfterTrigger;
}
}