【a】可视化剧本编辑器 10.StoryEditor

This commit is contained in:
mzh
2026-01-06 14:24:23 +08:00
parent f055116d4d
commit 2e8accfed8
80 changed files with 3145 additions and 0 deletions

View 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;
}
}