using UnityEditor;
using UnityEngine;
using System.IO;
using System.Collections;
using System.Collections.Generic; public class MyTools
{
[MenuItem("MyTools/RenameSelected")]
static void RenameSelected()
{
Transform[] trans = Selection.GetTransforms(SelectionMode.Assets); if (trans.Length > )
{
foreach (Transform item in trans)
{
string tempName = item.gameObject.name; string[] ary = tempName.Split(new char[] { '(', ')' }, System.StringSplitOptions.RemoveEmptyEntries); tempName = ary[] + " " + ary[]; item.name = tempName;
}
}
else
{
Debug.Log("请选择父对象");
}
} [MenuItem("MyTools/AddEmptyToSelected")]
static void AddEmptyToSelected()
{
Transform[] trans = Selection.GetTransforms(SelectionMode.Assets);
if (trans.Length > )
{
GameObject go = new GameObject();
go.name = "GameObject";
go.transform.parent = trans[];
go.transform.localPosition = Vector3.zero;
go.transform.localRotation = Quaternion.Euler(Vector3.zero);
go.transform.localScale = new Vector3(, , );
}
else
{
Debug.Log("请选择父对象");
} // AssetDatabase.CreateFolder("Assets","ZJW");
// Undo.PerformRedo(); //Undo.PerformUndo(); //foreach (Object o in Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets))
//{
// Debug.Log(o.name);
// // if (!(o is object))
// //continue; // //assetdatabase.renameasset(assetdatabase.getassetpath(o), "1" + o.name);
//} // if (Selection.objects.Length <= 0)
// {
// Debug.Log("gos[0].name");
// }
// else
// {
// foreach (Object o in Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets))
// {
// if (!(o is Object))
// continue;
// AssetDatabase.RenameAsset(AssetDatabase.GetAssetPath(o), "1" + o.name);
// }
// }
} [MenuItem("MyTools/CreateFullDirectory")]
static void CreateFullDirectory()
{
if (!Directory.Exists(Application.dataPath + "/Scripts"))
{
AssetDatabase.CreateFolder("Assets", "Scripts");
} if (!Directory.Exists(Application.dataPath + "/Documents"))
{
AssetDatabase.CreateFolder("Assets", "Documents");
} if (!Directory.Exists(Application.dataPath + "/Scenes"))
{
AssetDatabase.CreateFolder("Assets", "Scenes");
} if (!Directory.Exists(Application.dataPath + "/Plugins"))
{
AssetDatabase.CreateFolder("Assets", "Plugins");
} if (!Directory.Exists(Application.dataPath + "/Models"))
{
AssetDatabase.CreateFolder("Assets", "Models");
} if (!Directory.Exists(Application.dataPath + "/Materials"))
{
AssetDatabase.CreateFolder("Assets", "Materials");
} if (!Directory.Exists(Application.dataPath + "/Animations"))
{
AssetDatabase.CreateFolder("Assets", "Animations");
} if (!Directory.Exists(Application.dataPath + "/Audios"))
{
AssetDatabase.CreateFolder("Assets", "Audios"); if (!Directory.Exists(Application.dataPath + "/Audios/Sounds"))
{
Directory.CreateDirectory(Application.dataPath + "/Audios/Sounds");
} if (!Directory.Exists(Application.dataPath + "/Audios/Musics"))
{
Directory.CreateDirectory(Application.dataPath + "/Audios/Musics");
}
} if (!Directory.Exists(Application.dataPath + "/Atals"))
{
AssetDatabase.CreateFolder("Assets", "Atals");
} if (!Directory.Exists(Application.dataPath + "/Fonts"))
{
AssetDatabase.CreateFolder("Assets", "Fonts");
} if (!Directory.Exists(Application.dataPath + "/Prefabs"))
{
AssetDatabase.CreateFolder("Assets", "Prefabs");
} if (!Directory.Exists(Application.dataPath + "/Shaders"))
{
AssetDatabase.CreateFolder("Assets", "Shaders");
} if (!Directory.Exists(Application.dataPath + "/StreamingAssets"))
{
AssetDatabase.CreateFolder("Assets", "StreamingAssets");
} if (!Directory.Exists(Application.dataPath + "/Effects"))
{
AssetDatabase.CreateFolder("Assets", "Effects");
}
}
} //public class TestWindow : EditorWindow
//{
// string[] inspectToolbarStrings = { "Textures", "Materials", "Meshes" };
// enum InspectType
// {
// Textures, Materials, Meshes
// }; // InspectType ActiveInspectType = InspectType.Textures; // [MenuItem("MyTools/TestWindow")]
// static void Init()
// {
// TestWindow window = (TestWindow)EditorWindow.GetWindow(typeof(TestWindow));
// window.minSize = new Vector2(100, 300);
// }
// void OnGUI()
// {
// bool b = false;
// if (b =GUILayout.Toggle(true, "123"))
// {
// b = true;
// } // string str= GUILayout.TextArea(""); // if (GUILayout.Button("Meshes"))
// {
// Debug.Log(str);
// } // if (GUILayout.Button("Textures"))
// { // } // if (GUILayout.Button("Materials"))
// { // }
// }
//}

MyTools的更多相关文章

  1. [Proposal]MyTools

    [名称]:MyTools [需求分析]:现在市场上常用的移动端工具类APP,要么功能单一,如手电筒,录音机,指南针等,要么虽然有多种功能的整合,但只是单一的堆砌,内部依然是一个个独立的功能模块,并未形 ...

  2. maven

    maven常见问题问答 1.前言 Maven,发音是[`meivin],"专家"的意思.它是一个很好的项目管理工具,很早就进入了我的必备工具行列,但是这次为了把project1项目 ...

  3. 使用私有Pod Spec的类库--提高公司开发效率

    前言 找了这么长时间,再次开始去尝试Cocoapods了.前面已经写过一篇关于如何把自己的Github上的代码库添加Cocoapods支持.现在就让我们看一下如果搭建私有的Spec吧. 之所以构建私有 ...

  4. PostgreSQL function examples

    warehouse_db=# CREATE TABLE warehouse_tbl(warehouse_id INTEGER NOT NULL,warehouse_name TEXT NOT NULL ...

  5. Spring Shedule Task之注解实现 (两次启动Schedule Task 的解决方案)

    在spring 中的新引入的task 命名空间.可以部分取代 quartz 功能,配置和API更加简单,并且支持注解方式. 第一步: 在Spring的相关配置文件中(applicationContex ...

  6. Java高级规范之四

    四十一.控制层不能调用model层除了最顶级的接口外的任何内容.要通过new顶级接口才能调用. 不规范示例: public class UserServiceImpl{ private UserDAO ...

  7. Windows WMIC命令使用详解

    本文转载出处http://www.jb51.net/article/49987.htm www.makaidong.com/博客园文/32743.shtml wmic alias list brief ...

  8. keepalived健康检查方式

    keepalived对后端realserver的健康检查方式主要有以下几种: TCP_CHECK:工作在第4层,keepalived向后端服务器发起一个tcp连接请求,如果后端服务器没有响应或超时,那 ...

  9. 测试文档锁:doc.LockDocument()

    /// <summary> /// 总结:用到DocumentManager.Open(filePath)时,如果是ForWrite,就需要用到lock文档锁. /// </summ ...

随机推荐

  1. opencv第四章

    1.载入一个带有有趣纹理的图像,使用cvSmooth()函数以多种方法平滑图像,参数为smoothtype = CV_GAUSSIAN. a.使用对称的平滑的平滑窗口,大小依次是3x3,5x5,9x9 ...

  2. ccf-I’m stuck!

      给定一个R行C列的地图,地图的每一个方格可能是'#', '+', '-', '|', '.', 'S', 'T'七个字符中的一个,分别表示如下意思: '#': 任何时候玩家都不能移动到此方格: ' ...

  3. Spring boot 文件路径读取异常

    在开发代码中,有一段需要获取resources目录下的一个配置文件(这里写作test.xml). 这段代码在ide中没有任何问题,但是一打成jar包发布到线上,这段代码就会报找不到对应文件的错误. 按 ...

  4. AC日记——Andryusha and Colored Balloons codeforces 780c

    C - Andryusha and Colored Balloons 思路: 水题: 代码: #include <cstdio> #include <cstring> #inc ...

  5. phython正则表达式 Python Re模块

    反斜杠问题 与大多数编程语言相同,正则表达式里使用”\”作为转义字符,这就可能造成反斜杠困扰.假如你需要匹配文本中的字符”\”, Python里的原生字符串很好地解决了这个问题,这个例子中的正则表达式 ...

  6. POJ 2186 Popular Cows(强连通分量)

    [题目链接] http://poj.org/problem?id=2186 [题目大意] 给出一张有向图,问能被所有点到达的点的数量 [题解] 我们发现能成为答案的,只有拓扑序最后的SCC中的所有点, ...

  7. [Android]--RadioGroup+RadioButton实现底部导航栏

    RadioGroup+RadioButton组合方式打造简单实用的底部导航栏 代码块: <?xml version="1.0" encoding="utf-8&qu ...

  8. 读取SequenceFile中自定义Writable类型值

    1)hadoop允许程序员创建自定义的数据类型,如果是key则必须要继承WritableComparable,因为key要参与排序,而value只需要继承Writable就可以了.以下定义一个Doub ...

  9. Sublime | 编辑工具Sublime的使用小结

    文章目录 Sublime Package & Usage MarkdownEditing MarkdownPreview Usage Key Bindings Setting (语法高亮和ma ...

  10. linux之touch命令修改文件的时间戳

    功能:对已经存在文件的时间进行修改,存取时间(access time).修改时间(modification time).对不存在的文件,进行创建新的空白文件. 语法:touch   [选项]  文件 ...