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. Max-heap && Min-heap && push_heap

    最大堆:make_heap(vi.begin(),vi.end()) #include <iostream> #include <vector> #include <al ...

  2. python的算法:二分法查找(1)

    1.什么是二分法查找: 1.从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束: 2.如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从 ...

  3. python的加密算法(1):反转加密

    说白了,就是把字符串倒序. 在js里,有一个reverse.但是python中没有. 不过,有一个更简单的方法,就是: ‘abcd’ [::-1] 这里,具体解释一下: (参看:https://doc ...

  4. 《锋利的JQuery》读书要点笔记5——jQuery与Ajax的应用

    第6章 jQuery与Ajax的应用 Ajax的全称:Asynchronous JavaScript and XML (异步Javascript和XML) 传统模式中,数据提交通过表单方式实现,数据的 ...

  5. Laravel跳转回之前页面,并携带错误信息

    用Laravel5.1开发项目的时候,经常碰到需要携带错误信息到上一个页面,开发web后台的时候尤其强烈. 直接上: 方法一:跳转到指定路由,并携带错误信息 return redirect('/adm ...

  6. 【cocos2d-js官方文档】二、资源管理器Assets Manager

    这篇文档将介绍Cocos2d-JS 3.0的一个重量级新特性:资源管理器(仅支持JSB).资源管理器是为游戏运行时的资源热更新而设计的,这里的资源可以是图片,音频甚至游戏脚本本身.使用资源管理器,你将 ...

  7. 洛谷 P1068 分数线划定【结构体排序】

    题目描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行.为了选拔最合适的人才,A 市对 所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试.面试分数线根 据计划录取人数的150%划 ...

  8. 11、Flask实战第11天:蓝图

    蓝图的基本使用 之前我们写的代码都是集中在一个主程序文件里面.这样不利于分层解耦和维护.蓝图的作用就是让我们的flask项目更加模块化结构更加清晰,可以将相同模块的视图函数放在同一个蓝图下,同一个文件 ...

  9. 【二分答案】【最大流】bzoj3130 [Sdoi2013]费用流

    二分最大的边的cap,记作Lim. 把所有的边的cap设为min(Lim,cap[i]). Bob一定会把单位费用加到最大边上. #include<cstdio> #include< ...

  10. MySQL json 类型操作快速入门

    MySQL 5.7.8开始支持 json类型. create table t(id int,js json,PRIMARY KEY (`id`)) 插入数据insert into t values(1 ...