using System.Collections.Generic; using Bolt; namespace Game { /// /// Node基类 项目内所有节点继承自该类 /// 有一个ControlInput的默认节点 /// public class NodeBase : Unit { public ControlInput input { get; protected set; } protected BlueprintBasicData data; protected List tempListInt = new List(); protected override void Definition() { input = ControlInput("", Enter); OnDefinition(); } private ControlOutput Enter(Flow flow) { data = Variables.Object(flow.stack.gameObject).Get("data"); return OnEnter(flow); } protected virtual void OnDefinition() { } protected virtual ControlOutput OnEnter(Flow flow) { return null; } } /// /// 有一个ControlInput和一个ControlOutput的默认节点 /// public class NodeDefault : NodeBase { public ControlOutput output { get; protected set; } protected override void OnDefinition() { output = ControlOutput(""); Def(); } protected override ControlOutput OnEnter(Flow flow) { Run(flow); return output; } protected virtual void Def() { } protected virtual void Run(Flow flow) { } } }