Unity批量更改脚本名字
相同逻辑的游戏可以直接复制已有的代码,可是手动更改名字太麻烦了 所以写了个小工具直接重命名.
直接上代码
using UnityEngine;
using System.Collections;
using UnityEditor;
using System.IO;
using System.Collections.Generic;
using System;
using LitJson;public class RenamScript {static EditorWindow window;[MenuItem("Assets/重命名脚本")]public static void RenamSprite(){window = EditorWindow.GetWindow<AddBuildMapUtility>();window.title = "重命名脚本";window.maxSize = new Vector2(280, 200);}public static void GoRenamScript(string oldStr = "", string newStr = ""){string path = AssetDatabase.GUIDToAssetPath(Selection.assetGUIDs[0]);Debug.LogError(path);DirectoryInfo direction = new DirectoryInfo(path);FileInfo[] files = direction.GetFiles();List<MonoScript> scripts = new List<MonoScript>();foreach (FileInfo file in files) {if (file.Name.EndsWith(".cs") || file.Name.EndsWith(".CS")) {string assetPath = file.FullName.Substring(file.FullName.IndexOf("Assets"));MonoScript sp = AssetDatabase.LoadAssetAtPath<MonoScript>(assetPath);if (sp.name.StartsWith(oldStr)) {scripts.Add(sp);string newName = sp.name.Replace(oldStr, newStr);AssetDatabase.RenameAsset(assetPath, newName);}}else {Debug.LogWarning(file.Name + " 没有找到文件");}}window.Close();Debug.Log("打开更改完毕的文件 共: " + scripts.Count);for (int i = 0; i < scripts.Count; i++) {AssetDatabase.OpenAsset(scripts[i]);}}public class AddBuildMapUtility : EditorWindow {public string oldName, newName;private void OnEnable(){Get();}Color color = new Color(1, 0, 0);private void OnGUI(){EditorGUILayout.LabelField("");EditorGUILayout.LabelField(" 提示:脚本编译器关闭无关脚本可以更方便更改 ");EditorGUILayout.LabelField("");oldName = EditorGUILayout.TextField("旧名", oldName);EditorGUILayout.LabelField("");newName = EditorGUILayout.TextField("新名", newName);EditorGUILayout.LabelField("");EditorGUILayout.LabelField("");EditorGUILayout.BeginVertical();EditorGUILayout.BeginHorizontal();if (GUILayout.Button("执行更改")) {GoRenamScript(oldName, newName);}if (GUILayout.Button("翻转更改")) {GoRenamScript(newName, oldName);}if (GUILayout.Button("保存名字")) {Save(oldName, newName);}if (GUILayout.Button("清除名字")) {Delete();}}void Save(string oldStr = "", string newStr = ""){PlayerPrefs.SetString("oldStr", oldStr);PlayerPrefs.SetString("newStr", newStr);PlayerPrefs.Save();}void Get(){oldName = PlayerPrefs.GetString("oldStr");newName = PlayerPrefs.GetString("newStr");}void Delete(){oldName = "";newName = "";PlayerPrefs.SetString("oldStr", oldName);PlayerPrefs.SetString("newStr", newName);PlayerPrefs.Save();}}
}
使用工具前把编译器里的代码文件全部关闭 更改后的代码会在编译器里打开 然后使用编译器的功能替换所有以打开的文件
到此大功告成
Unity批量更改脚本名字相关推荐
- dos脚本批量更改照片命名(文字变更数字)
dos脚本批量更改照片命名(文字变更数字) 第一步:首先创建一个文件夹,里面放三类文件.第一类是所有的照片,以文字(或其他)命名:第二类是Excel表格,里面存放与照片命名文字(或其他)对应的.需要更 ...
- unity 编辑器窗口 批量修改文件名字
unity 编辑器批量修改.替换 文件名: 记录一下,窗口效果如下,需要选中文件,可多选 在排序的基础上增加了双排序和替换功能 代码: public class RenameFile : Editor ...
- 批量更改文件夹/文件的名字
1. 提取文件夹名字: 在需要更改的文件夹或文件的位置中,新建txt文件 在txt文件中输入:dir */b >test.txt,保存文件 将txt文件后缀更改为bat 双击运行bat 生成te ...
- 【Unity3D日常开发】更改Unity默认的脚本编辑器
推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有 ...
- AE表达式与脚本——批量更改图层名称字段
changeLayerName.jsx 功能:批量更改AE图层名称中的指定字段,例如:可将名为"艾格韦尔工作室"的图层改为"猫咪韦尔工作室". 下载链接: 百度 ...
- c语言;文件名批量修改要求可以修改整个文件内文件名或后缀名自动,ubuntu批量修改文件名字(换动画资源必用)...
Ubuntu 16.04 批量改文件名 在Ubuntu16.04下给文件批量改名可以使用rename命令. MATLAB中批量修改文件的名字 在运行matlab时有时需要用统一的文件格式,这个时候对文 ...
- linux 文件拆分 原后缀,Linux批量更改文件后缀-转载
一.rename解决 1. Ubuntu系统下 rename 's//.c//.h/' ./* 把当前目录下的后缀名为.c的文件更改为.h的文件 2. CentOS5.5系统下 rename . ...
- unity之定制脚本模板
1.unity的脚本模板 新版本unity中的C#脚本有三类,第一类是我们平时开发用的C# Script:第二类是Testing,用来做单元测试:第三类是Playables,用作TimeLine中管理 ...
- linux中间隔10ping一次脚本,linux批量ping脚本shell
linux批量ping脚本shell *ping失败后的返回字符串 5 packets transmitted, 0 received, 100% packet loss, time 3999ms* ...
最新文章
- PHP一些十分严重的缺陷
- 【剑指offer-Java版】18树的子结构
- 怎样才能快速批量绑定MAC与IP地址(图)
- WPF 的拖拽操作(DragDrop)
- Oracle入门(十四.8)之迭代控制:基本循环Loop
- Tensorflow——会话
- 微软简化 Windows 10 上的 WSL 安装
- 使用properties和SPContext时须小心
- 可视化——matplotlib常用api(一)
- 《Spark大数据分析实战》——第2章Spark开发与环境配置
- 激光打标机金橙子软件画出五角星最简单方法图解
- Java实现Excel导入和导出,看这一篇就够了(珍藏版)
- [python] 基于chardet识别字符编码
- 交大计算机软件学院,上海交通大学软件学院
- 解决浏览器Adobe Flash Player不是最新版本问题
- 一元钱一瓶汽水,喝完后两个空瓶能换一瓶汽水,问:你有20元钱,可以喝到几瓶汽水?
- 30秒一键清理你电脑中的垃圾
- 一款类似windows wallpaper engine的Mac动画壁纸软件
- python判断某一天是一年中的第几天
- 微信小程序下载图片获取相册授权,保存视频或图片到手机相册