MyTools
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的更多相关文章
- [Proposal]MyTools
[名称]:MyTools [需求分析]:现在市场上常用的移动端工具类APP,要么功能单一,如手电筒,录音机,指南针等,要么虽然有多种功能的整合,但只是单一的堆砌,内部依然是一个个独立的功能模块,并未形 ...
- maven
maven常见问题问答 1.前言 Maven,发音是[`meivin],"专家"的意思.它是一个很好的项目管理工具,很早就进入了我的必备工具行列,但是这次为了把project1项目 ...
- 使用私有Pod Spec的类库--提高公司开发效率
前言 找了这么长时间,再次开始去尝试Cocoapods了.前面已经写过一篇关于如何把自己的Github上的代码库添加Cocoapods支持.现在就让我们看一下如果搭建私有的Spec吧. 之所以构建私有 ...
- PostgreSQL function examples
warehouse_db=# CREATE TABLE warehouse_tbl(warehouse_id INTEGER NOT NULL,warehouse_name TEXT NOT NULL ...
- Spring Shedule Task之注解实现 (两次启动Schedule Task 的解决方案)
在spring 中的新引入的task 命名空间.可以部分取代 quartz 功能,配置和API更加简单,并且支持注解方式. 第一步: 在Spring的相关配置文件中(applicationContex ...
- Java高级规范之四
四十一.控制层不能调用model层除了最顶级的接口外的任何内容.要通过new顶级接口才能调用. 不规范示例: public class UserServiceImpl{ private UserDAO ...
- Windows WMIC命令使用详解
本文转载出处http://www.jb51.net/article/49987.htm www.makaidong.com/博客园文/32743.shtml wmic alias list brief ...
- keepalived健康检查方式
keepalived对后端realserver的健康检查方式主要有以下几种: TCP_CHECK:工作在第4层,keepalived向后端服务器发起一个tcp连接请求,如果后端服务器没有响应或超时,那 ...
- 测试文档锁:doc.LockDocument()
/// <summary> /// 总结:用到DocumentManager.Open(filePath)时,如果是ForWrite,就需要用到lock文档锁. /// </summ ...
随机推荐
- python encode和decode函数说明
字符串编码常用类型:utf-8,gb2312,cp936,gbk等. Python中,我们使用decode()和encode()来进行解码和编码 在python中,使用unicode类型作为编码的基础 ...
- 两个sql设计方案的比较
我有一个买方表Buyer,大概1万条记录:一个卖方表Sale,大概5万条记录.有一些买方和卖方之间是有某种关联的,这种关联关系被记录在Partner表里,Partner表中的关键字段包括BuyerID ...
- yii2中判断数据表是否存在数据库中(原创)
分为两步: 第一步,找出数据库中所有表名,表名得到的是二维数组. 第二步,判断表名是否存在二维数组中 下面就贴我的代码咯. $table_name =‘table’; $juge = $handle- ...
- linux--redis的安装和配置和开启多个端口
在workerman开发过程中需要安装redis来存储用户ip.端口等信息 首先UBUNTU中安装redis: apt-update //更新apt包源apt-get install redis-s ...
- crontab执行python报错原因总结
1.相对路径导致 2.环境变量问题,py脚本首行应指定python路径,不能用软链接 3.python3.3是默认utf-8,需要 &&脚本 最好使用crontab -e ...
- python的垃圾回收机制和析构函数__del__
析构函数__del__定义:在类里定义,如果不定义,Python 会在后台提供默认析构函数. 析构函数__del__调用: A.使用del 显式的调用析构函数删除对象时:del对象名: class F ...
- HDU 6315.Naive Operations-线段树(两棵树合并)(区间单点更新、区间最值、区间求和)+思维 (2018 Multi-University Training Contest 2 1007)
6315.Naive Operations 题意很好理解,但是因为区间求和求的是向下取整的a[i]/b[i],所以直接分数更新区间是不对的,所以反过来直接当a[i]==b[i]的时候,线段树对应的位置 ...
- 遇见requestAnimationFrame
今天,在读javascript异步编程的js事件深入理解部分的时候,了解到了requestAnimationFrame 这个api,在这里记录一下. 原文: setTimeout 和 setInter ...
- 贮油点问题(C++)
贮油点问题…..一道送命系列的递推… 描述 Description 一辆重型卡车欲穿过S公里的沙漠,卡车耗汽油为1升/公里,卡车总载油能力为W公升.显然卡车装一次油是过不了沙漠的.因此司机必须设法在沿 ...
- hdu6230
hdu6230 题意 给出一个字符串,问有多少个子串 \(S[1..3n-2](n \geq 2)\) 满足 \(S[i]=S[2n-i]=S[2n+i-2] (1\leq i \leq n)\) . ...