E Story 故事编辑器开发笔记 #13 清空与新建视图

清空视图

打开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()
{
    /* ... 此处代码已省略 ... */
}

测试效果

最终窗口效果如下:

相关链接

留下评论