public static double timeSinceStartup ;

描述

自编辑器启动以来经过的时间。(只读)

此属性包含自编辑器启动以来经过的时间(单位:秒)。 与 Time.realtimeSinceStartup 不同,此属性不会在启动播放模式时重置。

另请参阅:Time.realtimeSinceStartup

\ 每 300 秒保存一次当前场景的简单编辑器窗口。

// Simple editor window that autosaves the working Scene
// Make sure to have this window opened to be able to execute the auto save.

using UnityEngine; using UnityEditor; using UnityEngine.SceneManagement; using UnityEditor.SceneManagement;

public class SimpleAutoSave : EditorWindow { static float saveTime = 300.0f; static double nextSave = 0;

static int autoSaveLabel = 1;

[MenuItem("Examples/Simple autoSave")] static void Init() { SimpleAutoSave window = (SimpleAutoSave)GetWindowWithRect( typeof(SimpleAutoSave), new Rect(0, 0, 160, 60)); window.Show(); }

void OnGUI() { EditorGUI.LabelField(new Rect(10, 10, 80, 20), "Save Each:"); EditorGUI.LabelField(new Rect(80, 10, 80, 20), saveTime + " secs");

double timeToSave = nextSave - EditorApplication.timeSinceStartup;

EditorGUI.LabelField(new Rect(10, 30, 80, 20), "Next Save:"); EditorGUI.LabelField(new Rect(80, 30, 80, 20), timeToSave.ToString("N1") + " secs");

this.Repaint();

// when time has reach zero then save the Scene if (EditorApplication.timeSinceStartup > nextSave) { Scene scene = SceneManager.GetActiveScene(); string name = scene.name + autoSaveLabel;

EditorSceneManager.SaveScene(scene, "Assets/wibble/" + name + ".unity", true); autoSaveLabel = autoSaveLabel + 1; nextSave = EditorApplication.timeSinceStartup + saveTime;

Debug.Log("Saved Scene: " + name); } } }