unity工程自动保存的脚本

using UnityEngine;

using UnityEditor;

using System;

public class AutoSave : EditorWindow {

private bool autoSaveScene = true;

private bool showMessage = true;

private bool isStarted = false;

private int intervalScene;

private DateTime lastSaveTimeScene = DateTime.Now;

private string projectPath = Application.dataPath;

private string scenePath;

[MenuItem ("Window/AutoSave")]

static void Init () {

AutoSave saveWindow = (AutoSave)EditorWindow.GetWindow (typeof (AutoSave));

saveWindow.Show();

}

void OnGUI () {

GUILayout.Label ("Info:", EditorStyles.boldLabel);

EditorGUILayout.LabelField ("Saving to:", ""+projectPath);

EditorGUILayout.LabelField ("Saving scene:", ""+scenePath);

GUILayout.Label ("Options:", EditorStyles.boldLabel);

autoSaveScene = EditorGUILayout.BeginToggleGroup ("Auto save", autoSaveScene);

intervalScene = EditorGUILayout.IntSlider ("Interval (minutes)", intervalScene, 1, 10);

if(isStarted) {

EditorGUILayout.LabelField ("Last save:", ""+lastSaveTimeScene);

}

EditorGUILayout.EndToggleGroup();

showMessage = EditorGUILayout.BeginToggleGroup ("Show Message", showMessage);

EditorGUILayout.EndToggleGroup ();

}

void Update(){

scenePath = EditorApplication.currentScene;

if(autoSaveScene) {

if(DateTime.Now.Minute >= (lastSaveTimeScene.Minute+intervalScene) || DateTime.Now.Minute == 59 && DateTime.Now.Second == 59){

saveScene();

}

} else {

isStarted = false;

}

}

void saveScene() {

EditorApplication.SaveScene(scenePath);

lastSaveTimeScene = DateTime.Now;

isStarted = true;

if(showMessage){

Debug.Log("AutoSave saved: "+scenePath+" on "+lastSaveTimeScene);

}

AutoSave repaintSaveWindow = (AutoSave)EditorWindow.GetWindow (typeof (AutoSave));

repaintSaveWindow.Repaint();

}

}

注:1.脚本如上,保存在assets中就完事了。     要想设置自动保存的时间间隔,选项在Windows下拉菜单下的AutoSave 中

     2.现在所知,每一个工程都得安装一次脚本。(有点尴尬)

时间: 2024-12-07 16:37:51

unity工程自动保存的脚本的相关文章

【转载】Unity插件研究院之自动保存场景

原文: http://wiki.unity3d.com/index.php?title=AutoSave  最近发现Unity老有自动崩溃的BUG. 每次崩溃的时候由于项目没有保存所以Hierarchy视图游戏对象与游戏资源的关系就会丢失.所以想到自动保存场景. 本来想自己写一个这样的脚本,但是发现维基百科上已经有了... using UnityEngine; using UnityEditor; using System; public class AutoSave : EditorWindo

【转】全面解析Unity3D自动生成的脚本工程文件

http://blog.csdn.net/jjiss318/article/details/7632041 我们在Unity3D开发的时候,经常会看到它会产生不少固定命名工程文件,诸如: Assembly-CSharp-vs.csproj Assembly-CSharp-firstpass-vs.csproj Assembly-CSharp-Editor-vs.csproj Assembly-CSharp-Editor-firstpass-vs.csproj 看得不少人云里雾里的.那么,这些工程

用python编写ios工程自动编译、打包ipa等脚本

第一次使用python请先看:http://my.oschina.net/LangZiAiFer/blog/298763 代码管理我用的是Git: 工程clone如下: def gitClone(): os.system ('git clone https://[email protected]/xxx/goccia.git ~/desktop/20140804') return https://[email protected]/xxx/goccia.git是git服务器路径,不必care:~

IOS工程自动打包并发布脚本实现

http://blog.csdn.net/ccf0703/article/details/8588667 文章首发地址:http://webfrogs.me/2013/02/18/ios-automation/ 作者:webfrogs 转载请注明出处. 前言 IOS的开发过程中,当需要给测试人员发布测试包的时候,直接使用xcode来做的效率是非常低下的.尤其是当有一点小改动需要重新出包时,那简直是个折磨的人的工作.通过一番研究后,遂决定写一系列脚本,以代替人工完成打包和发布的过程. 目前脚本已经

[UE4]工程设置:自动捕获鼠标、通过代码设置鼠标显示隐藏、输入模式、编译时自动保存

一.在4.20版本中运行游戏,在没有进行任何设置的情况下,游戏不会自动捕获鼠标,游戏不会接受输入,需要手动点一下游戏界面才行.如果要跟老版本一样运行游戏自动捕获鼠标,需要进行设置 二.也可以通过代码的方式设置鼠标显示隐藏和输入模式 三.编译时自动保存 原文地址:https://www.cnblogs.com/timy/p/10189754.html

使用SVN管理unity工程

 我们的项目使用SVN管理,这几天遇到了几个问题,解决了一下,顺便做了一个总结. 1.关于使用SVN管理unity项目的一些设置和说明 首先在unity中进行两部操作:Edit->ProjectSettings->Editor菜单,选择Verion Control Mode 为VisivaleMeta File,选择Asset SeriaLization Mode 为ForceText.第一步选择外部版本控制可见Meta文件,这样子会为Asset文件夹下面每个资源创建一个.Meta文本文件

【译】Unity工程目录中的特殊文件夹

转自: http://wiki.unity3d.com/index.php/Special_Folder_Names_in_your_Assets_Folder Unity中一些特定名字的文件夹有特殊的属性. Hidden Folders Unity会忽略以.起始命名的文件夹(例如 ".UnitTests/",".svn/"),放在这种文件夹中的资源不会被导入到Unity中,脚本也不会被编译,同时在工程视图中无法看到此类型的文件夹. (windows视窗下无法命名为

Unity工程无代码化

目的 Unity默认是将代码放入工程,这样容易带来一些问题.1. 代码和资源混合,职能之间容易互相误改.2. 当代码量膨胀到一定程度后,代码的编译时间长到无法忍受.新版的unity支持通过asmdef来将代码分成多个dll工程,有所缓解. 所以,我们可以将代码全部挪到Unity工程之外,将代码编译成dll,然后把dll以managed plugin的方式放入unity工程. 实现 那么,我们怎么组织代码工程呢.先看下unity的vs tool自动生成的工程格式. Assembly-Csharp:

Unity使用 UnityVS+VS2013 调试脚本

UnityVS版本:UnityVS_1.8.2 VS版本:VS2013旗舰版 Unity3D版本:4.3.4 安装步骤: 1.如果之前安装过其它版本的UnityVS,请先卸载 2.运行UnityVS 2013.msi 3.找到你安装visual studio 2013的目录. (****\Microsoft Visual Studio12.0\Common7\IDE\Extensions\SyntaxTree\UnityVS) . 例如我是安装在 D:\ProgramFiles(x86)\Mic