unity插件開發——一個例子:簡單的svn集成

    在unity開發過程當中,一般咱們習慣性地在Windows操做系統下使用svn進行版本管理,而每次提交更新,都須要回到文件夾下的這種操做讓人沒法忍受。是否是能夠集成svn到unity中呢?查了一圈unity store能夠看到不少svn的第三方插件。考慮到咱們只須要簡單的功能,並且不但願加入額外複雜的代碼,最後仍是本身寫一個插件。功能就是更新或者提交assets文件夾。svn

    若是尚未svn對項目進行管理的,按照如下2步操做:spa

    一、下載svn客戶端,安裝。操作系統

    二、從svn版本庫checkout一個工程。
插件

    具體svn操作這裏不作展開。code

    查詢svn的文檔能夠知道svn提供各類命令符操做。所以,原理很是簡單,利用命令符操做調用svn便可。代碼也很是簡單:seo

    更新:Process.Start("TortoiseProc.exe", "/command:update /path:" + Application.dataPath + " /closeonend:0");ci

    提交:Process.Start("TortoiseProc.exe", "/command:commit /path:" + Application.dataPath + " /closeonend:0");開發

    好,咱們寫一個cs文件以下:文檔

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class SvnOperater : MonoBehaviour
{
         [MenuItem( "SVN/Update" )]
         public static void Update()
         {
#if UNITY_STANDALONE_WIN||UNITY_EDITOR
             Process.Start( "TortoiseProc.exe" , "/command:update /path:" + Application.dataPath + " /closeonend:0" );
#endif
         }
 
         [MenuItem( "SVN/Commit" )]
         public static void Commit()
         {
#if UNITY_STANDALONE_WIN||UNITY_EDITOR
             Process.Start( "TortoiseProc.exe" , "/command:commit /path:" + Application.dataPath + " /closeonend:0" );
#endif
         }
 
}

    好,注意文件名和類名相同,放在assets目錄下的任意一個Editor目錄下。回到unity,很快,上方的菜單裏就會出現「SVN」,二級菜單有「Update」和「Commit」,點擊一下,svn的界面就會出現了。it

    愉快地使用吧。

    以此類推,你能用開發集成不少svn的功能。

相關文章
相關標籤/搜索