2
0
Fork 0
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

124 lines
3.6 KiB
C#

using UnityEngine;
using Bolt;
namespace Game
{
[UnitTitle("设置目标")]
[UnitSubtitle("NodeSetTarget")]
[UnitCategory("Game-AI")]
public class NodeSetTarget : NodeDefault
{
public ValueInput target;
protected override void Def()
{
target = ValueInput<int>("target");
}
protected override void Run(Flow flow)
{
var e = data.Entity;
var t = flow.GetValue<int>(target);
Util.GetEntity(e).SetTarget(t);
}
}
[UnitTitle("获取难度等级")]
[UnitSubtitle("NodeGetDifficulty")]
[UnitCategory("Game-AI")]
public class NodeGetDifficulty : NodeDefault
{
public ValueOutput difficulty;
protected override void Def()
{
difficulty = ValueOutput<int>("difficulty");
}
protected override void Run(Flow flow)
{
var d = Util.GetDifficulty();
flow.SetValue(difficulty, d);
}
}
[UnitTitle("设置思考频率")]
[UnitSubtitle("NodeSetThinkCD")]
[UnitCategory("Game-AI")]
public class NodeSetThinkCD : NodeDefault
{
public ValueInput cd;
protected override void Def()
{
cd = ValueInput<float>("cd", 1);
}
protected override void Run(Flow flow)
{
var e = data.Entity;
var t = flow.GetValue<float>(cd);
Util.SetThinkCd(e, t);
}
}
[UnitTitle("设置饥饿值基础配置")]
[UnitSubtitle("NodeHungryBasic")]
[UnitCategory("Game-AI")]
public class NodeHungryBasic : NodeDefault
{
public ValueInput max;
public ValueInput now;
public ValueInput inc;
protected override void Def()
{
max = ValueInput<float>("max", 1);
now = ValueInput<float>("now", 0);
inc = ValueInput<float>("inc", 0);
}
protected override void Run(Flow flow)
{
var e = data.Entity;
var m = flow.GetValue<float>(max);
var n = flow.GetValue<float>(now);
var i = flow.GetValue<float>(inc);
Util.SetHungryBasic(e, m, n, i);
}
}
[UnitTitle("设置饥饿值自增倍率")]
[UnitSubtitle("NodeHungryIncreaseRate")]
[UnitCategory("Game-AI")]
public class NodeHungryIncreaseRate : NodeDefault
{
public ValueInput rate;
protected override void Def()
{
rate = ValueInput<float>("rate", 0);
}
protected override void Run(Flow flow)
{
var e = data.Entity;
var r = flow.GetValue<float>(rate);
Util.SetHungryIncreaseRate(e, r);
}
}
[UnitTitle("释放技能")]
[UnitSubtitle("NodeCastSkill")]
[UnitCategory("Game-AI")]
public class NodeCastSkill : NodeDefault
{
public ValueInput skill;
public ValueInput dir;
protected override void Def()
{
skill = ValueInput<int>("skill", 0);
dir = ValueInput<Vector3>("dir");
}
protected override void Run(Flow flow)
{
var e = data.Entity;
var s = flow.GetValue<int>(skill);
var d = flow.GetValue<Vector3>(dir);
var ett = Util.GetEntity(e);
if (ett == null)
{
return;
}
Util.CastSkillMonster(Util.GetEntity(e), s, d);
}
}
}