/* * @Author: 白哉 * @Description: * @Date: 2025年10月21日 星期二 17:10:56 * @Modify: */ using System; using Logic.AI; using NodeCanvas.Framework; using ParadoxNotion.Design; namespace NodeCanvas.Tasks.Actions { [Name("筛选目标兵血量 <= Condi?")] [Category("AI节点")] [Serializable] public class AIParamIsTargetUnitHealthInCondi : BaseActionTask { protected override string desc => $"筛选目标兵血量 <= Condi"; protected override void OnExecute() { base.OnExecute(); // 直接从Blackboard获取AICalculatorData var data = blackboard.GetVariable("Data"); if (data?.value?.TargetParam?.TargetUnitData == null) { EndAction(false); return; } var condi = 0f; if (data.value.TargetStrategy == Strategy.Development) condi = 0.3f; if (data.value.TargetStrategy == Strategy.Attack || data.value.TargetStrategy == Strategy.Defend || data.value.TargetStrategy == Strategy.Common) condi = 0.6f; var unit = data.value.TargetParam.TargetUnitData; EndAction(unit.GetHealthRatio() <= condi); } } }