unity编辑器扩展 SVN一键更新工具

本文介绍了一款使用Unity开发的编辑器扩展工具,该工具实现了SVN的便捷更新功能,允许用户在本地一个文件夹上传文件后,一键更新其他多个不同路径的文件夹到最新版本。
摘要由CSDN通过智能技术生成

最近用到一个SVN功能:在本地一个文件夹路径下上传文件,本地其他多个路径下也可Update到前面上传的文件,由于路径不同手动打开多个文件夹更新比较麻烦,于是用Unity写了个一键更新的窗口工具。
这里写图片描述

以下是部分核心代码

窗口类:


    string SvnFolderName = "/.svn";     // 用于检测文件夹是否受SVN控制
    string lastSourceFolderPath = "";
    static string listFileName = "svnData.txt";
    static Vector2 defaultWindowSize = new Vector2(800,650);
    static bool isClose = false;
    public static List<FolderPath> sourceFolderList = new List<FolderPath>();

    // 窗口菜单路径  %Q 表示快捷键Ctrl+Q打开
    [UnityEditor.MenuItem("Window/SvnManager %Q")]
    // 实例化窗口
    static void Init()
    {
        var curWindow = (SvnEdittorWindow)EditorWindow.GetWindow(typeof(SvnEdittorWindow));
        if (isClose) {
            curWindow.Show();
            curWindow.minSize = defaultWindowSize;
            Reload();
        }
        else
        {
            curWindow.Close();
        }
        isClose = !isClose;
    }

    void OnGUI()
    {
        GUILayout.BeginVertical();
        GUILayout.BeginHorizontal();
        GUILayout.Label("源文件夹列表",EditorStyles.boldLabel);
        if (GUILayout.Button("添加")) {
            // 添加一行目录
            AddFolderPath();
        }
        if (GUILayout.Button("Reload")) {
            this.Reload();
        }
        if (GUILayout.Button("存储")) {
            // 将List序列化为字符串存储为txt
            string str = GameUtils.GetEntityToString(sourceFolderList.ToArray());
            // 自定义类 主要调用的是IO中文件读写功能
            FileUtils.WriteFile(UnityEngine.Application.dataPath,listFileName,str);
            Debug.Log("数据存储成功!");
        }
        GUILayout.EndHorizontal();

        GUILayout.BeginScrollView(Vector2.zero,GUILayout.Width(800),GUILayout.Height(600));
        for (int i = 0; i < sourceFolderList.Count; i++) {
   
            // 设置源文件夹路径
            GUILayout.BeginHorizontal();
            GUILayout.Label("源:");
            sourceFolderList[i].sourcePath = EditorGUILayout.Te
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值