/* * @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("筛选阵营")] [Category("AI节点")] [Serializable] public class AIParamUnitCiv : BaseActionTask { public CivEnum Civ; public bool Equal = true; protected override string desc { get { if (Equal) return string.Format($"阵营为 {Civ}"); return string.Format($"阵营不为 {Civ}"); } } protected override void OnExecute() { base.OnExecute(); // 直接从Blackboard获取AICalculatorData var data = blackboard.GetVariable("Data"); if (data?.value?.TargetParam?.PlayerData == null) { EndAction(false); return; } if (Equal) EndAction(data.value.TargetParam.PlayerData.Civ() == Civ); else EndAction(data.value.TargetParam.PlayerData.Civ() != Civ); } } }