【a】可视化剧本编辑器 10.StoryEditor
This commit is contained in:
65
Assets/10.StoryEditor/RunTime/Player/Node/NodePlayer.cs
Normal file
65
Assets/10.StoryEditor/RunTime/Player/Node/NodePlayer.cs
Normal file
@@ -0,0 +1,65 @@
|
||||
using Cysharp.Threading.Tasks;
|
||||
|
||||
namespace Stary.Evo.StoryEditor
|
||||
{
|
||||
public class NodePlayer
|
||||
{
|
||||
/// <summary>
|
||||
/// 节点名称
|
||||
/// </summary>
|
||||
protected string Name;
|
||||
/// <summary>
|
||||
/// 图表
|
||||
/// </summary>
|
||||
protected GraphPlayer Graph;
|
||||
/// <summary>
|
||||
/// 数据
|
||||
/// </summary>
|
||||
protected NodeData Data;
|
||||
|
||||
/// <summary>
|
||||
/// 初始化标志
|
||||
/// </summary>
|
||||
protected bool Initialized;
|
||||
|
||||
public NodePlayer(GraphPlayer graph, NodeData data)
|
||||
{
|
||||
Graph = graph;
|
||||
Name = data.name;
|
||||
Data = data;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 连接节点
|
||||
/// </summary>
|
||||
public virtual bool Connect()
|
||||
{
|
||||
if(Initialized)
|
||||
return false;
|
||||
Initialized = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 初始化
|
||||
/// </summary>
|
||||
public virtual void Init() => Graph.CurrentNodes.Add(this);
|
||||
|
||||
/// <summary>
|
||||
/// 开始执行
|
||||
/// </summary>
|
||||
public virtual UniTask Execute()
|
||||
{
|
||||
Graph.CurrentNodes.Remove(this);
|
||||
return UniTask.CompletedTask;
|
||||
}
|
||||
/// <summary>
|
||||
/// 向下继续执行
|
||||
/// </summary>
|
||||
public virtual UniTask MoveNext() => UniTask.CompletedTask;
|
||||
/// <summary>
|
||||
/// 停止执行
|
||||
/// </summary>
|
||||
public virtual UniTask Stop() => UniTask.CompletedTask;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user