清空视图
打开StoryEditorWindow.cs,修改AddToolbar方法:
C#
private void AddToolbar()
{
/* ... 此处代码已省略 ... */
btnClear = ElementUtility.CreateButton("清空", () => ClearGraphAndCreateDefaultDatas());
/* ... 此处代码已省略 ... */
}新增ClearGraphAndCreateDefaultDatas方法:
C#
// 清空视图并添加默认数据
private void ClearGraphAndCreateDefaultDatas()
{
string str = "确认清空当前视图内容吗?未保存的数据将无法恢复。";
if (EditorUtility.DisplayDialog("警告", str, "确认", "取消"))
{
graphView.ClearGraph();
graphView.AddDefaultNodes();
string message = $"视图已清空";
ShowNotification(new GUIContent(message));
}
}新建视图
继续修改AddToolbar方法:
C#
private void AddToolbar()
{
/* ... 此处代码已省略 ... */
btnNew = ElementUtility.CreateButton("新建", () => NewStory());
/* ... 此处代码已省略 ... */
}新增NewStory方法:
C#
// 新建故事
private void NewStory()
{
string str = "确认创建新故事吗?未保存的数据将无法恢复。";
if (EditorUtility.DisplayDialog("警告", str, "确认", "取消"))
{
graphView.ClearGraph();
graphView.AddDefaultNodes();
// 重置文件名称
UpdateFileName(defaultFileName);
string message = $"故事已创建";
ShowNotification(new GUIContent(message));
}
}将AddDefaultNodes方法可访问性设为公开:
C#
public void AddDefaultNodes()
{
/* ... 此处代码已省略 ... */
}测试效果
最终窗口效果如下:



