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. 关于ES6(ES2015)开发记坑

    ES2015(以下简称ES6)在开发过程中遇到的问题: 1,必须显示声明变量 //es5中可解释为全局变量 a=5; //es6中报错:a is not defined a=5 2,对于递归调用方式必 ...

  2. Selenium2+python自动化72-logging日志使用【转载】

    前言 脚本运行的时候,有时候不知道用例的执行情况,这时候可以加入日志,这样出现问题后方便查阅,也容易排查哪些用例执行了,哪些没有执行. 一.封装logging模块 1.关于logging日志的介绍,我 ...

  3. python如何通过pymongo连接到mongodb?

    python版本2.7,mongodb2.6.9,pymongo 首先在mongodb中创建一个数据库users,然后连接到users from pymongo import MongoClientm ...

  4. matlab保存图片成eps格式不全,导致latex中图片显示不全的问题

    我们经常会遇到这样的问题.用将matlab生成的图保存EPS格式后,用GSVIEW打开后,可以看到图片显示不全.遇到这种情况是,我们可以使用dvipdf——dvips的方法来生成PDF,这样生成的pd ...

  5. svn泄漏敏感信息利用方式

    之前仅知道svn权限配置不当,会导致敏感信息泄漏,但是一直不知道具体利用方式. 今天测试svn dig时抓包分析才知道: http://www.xxx.com/路径/.svn/text-base/文件 ...

  6. POJ 2236 Wireless Network [并查集+几何坐标 ]

    An earthquake takes place in Southeast Asia. The ACM (Asia Cooperated Medical team) have set up a wi ...

  7. ASP.NET Core 2.2 基础知识(七) 选项模式

    承接上一篇 配置, 选项模式是专门用类来表示相关配置的服务. 基本选项配置 新建一个选项类,该类必须是包含无参数的构造函数的非抽象类. public class MyOptions { public ...

  8. Problem O: 零起点学算法10——求圆柱体的表面积

    #include<stdio.h> int main() { float r,h,pi; pi=3.1415926; scanf("%f %f",&r,& ...

  9. Metesploit使用随笔

    平时在工作中真正用到metesploit机会不多,偶尔也会用来做漏洞验证,但是每次使用的时候都需要花点时间回忆一下具体是怎么用的,因此索性记下来方便自己,以使用Nessus扫描YS的某个硬件设备发现的 ...

  10. faststone 注册码

    用户名:c1ikm密码:AXMQX-RMMMJ-DBHHF-WIHTV 或 AXOQS-RRMGS-ODAQO-APHUU