您的位置:首页 > 移动开发 > Unity3D

Unity编辑器扩展(自动保存当前打开的场景)

2017-12-14 16:39 549 查看
过去经常面临Unity编辑器崩溃的问题,导致后来养成了频繁Ctrl+S的习惯,甚至在浏览网页的时候,如果进行了文字输入,也会习惯性Ctrl+S。

之前有个想法,可以通过编辑器扩展的方式定时自动保存我所打开的场景,这样就可以避免因为Unity卡死或电脑断电丢失工作成果。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using UnityEditor.SceneManagement;
public class EditorWindowTest2 : EditorWindow {
//多久保存一次
static double saveTime = 10;
//下一次保存的时间
static double nextSave = 0;
/// <summary>
/// 添加菜单项 点击菜单弹出窗口
/// </summary>
[MenuItem("Tools/AutoSaveTool")]
public static void AutoSave() {
EditorWindow window = EditorWindow.GetWindow<EditorWindowTest2>();
//window.Focus();

//计算一下 下一次保存的时间
nextSave = EditorApplication.timeSinceStartup + saveTime;
}

void OnGUI() {
//GUILayout.Label("这是我用gui写的一段文字");
//GUILayout.Button("这是一个按钮");
double timeLeft = nextSave - EditorApplication.timeSinceStartup;
GUILayout.Label(((int)timeLeft).ToString());
Repaint();
if (timeLeft <= 0) {
nextSave = EditorApplication.timeSinceStartup + saveTime;
EditorSceneManager.SaveOpenScenes();
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐