using Bolt; namespace Game { [UnitTitle("设置模块类型")] [UnitSubtitle("NodeSetModuleType")] [UnitCategory("Game-AIDirector")] public class NodeSetModuleType : NodeDefault { public ValueInput entity; public ValueInput type; protected override void Def() { entity = ValueInput("entity"); type = ValueInput("type", EAIModuleType.Spectator); } protected override void Run(Flow flow) { var e = flow.GetValue(entity); var t = flow.GetValue(type); Util.SetAIModuleType(e, t); } } [UnitTitle("获取模块类型")] [UnitSubtitle("NodeGetModuleType")] [UnitCategory("Game-AIDirector")] public class NodeGetModuleType : NodeDefault { public ValueInput entity; public ValueOutput type; protected override void Def() { entity = ValueInput("entity"); type = ValueOutput("type"); } protected override void Run(Flow flow) { var e = flow.GetValue(entity); var t = Util.GetAIModuleType(e); flow.SetValue(type, t); } } [UnitTitle("获取模块数量")] [UnitSubtitle("NodeGetModuleNum")] [UnitCategory("Game-AIDirector")] public class NodeGetModuleNum : NodeDefault { public ValueInput type; public ValueOutput num; protected override void Def() { type = ValueInput("type", EAIModuleType.Spectator); num = ValueOutput("num"); } protected override void Run(Flow flow) { var t = flow.GetValue(type); var n = Util.GetModuleNum(t); flow.SetValue(num, n); } } [UnitTitle("设置攻击权限")] [UnitSubtitle("NodeSetAttackPermit")] [UnitCategory("Game-AIDirector")] public class NodeSetAttackPermit : NodeDefault { public ValueInput entity; public ValueInput value; protected override void Def() { entity = ValueInput("entity"); value = ValueInput("value", false); } protected override void Run(Flow flow) { var e = flow.GetValue(entity); var v = flow.GetValue(value); Util.SetAttackPermit(e, v); } } [UnitTitle("获取攻击权限")] [UnitSubtitle("NodeGetAttackPermit")] [UnitCategory("Game-AIDirector")] public class NodeGetAttackPermit : NodeDefault { public ValueInput entity; public ValueOutput ok; protected override void Def() { entity = ValueInput("entity"); ok = ValueOutput("ok"); } protected override void Run(Flow flow) { var e = flow.GetValue(entity); var o = Util.GetAttackPermit(e); flow.SetValue(ok, o); } } [UnitTitle("饥饿值是否已满")] [UnitSubtitle("NodeGetHungryFull")] [UnitCategory("Game-AIDirector")] public class NodeGetHungryFull : NodeDefault { public ValueInput entity; public ValueOutput ok; protected override void Def() { entity = ValueInput("entity"); ok = ValueOutput("ok"); } protected override void Run(Flow flow) { var e = flow.GetValue(entity); var o = Util.GetHungryFull(e); flow.SetValue(ok, o); } } }