unity 工具开发基础
- using System.Collections;
- using System.Collections.Generic;
- using System.IO;
- using System.Text;
- using UnityEngine;
- using UnityEditor;
- /// <summary>
- /// Unity基础工具功能
- /// priority菜单项显示排序
- /// </summary>
- public class TestEditor : MonoBehaviour {
- [MenuItem("GameObject/获取选中的物体名称", priority = )]
- static string GetSelectObject(){
- GameObject _selectObject = Selection.gameObjects [];
- Debug.Log (_selectObject.name);
- return _selectObject.name;
- }
- [MenuItem("GameObject/获取Project视图中的文件和文件夹路径", priority = )]
- static string GetSelectFile(){
- string[] guidArray = Selection.assetGUIDs;//从meta文件里面取得id
- string selectName = AssetDatabase.GUIDToAssetPath (guidArray []);//根据id取得路径
- string path = Application.dataPath.Substring (, Application.dataPath.Length - );
- Debug.Log (path + selectName);
- return path + selectName;
- }
- [MenuItem("GameObject/创建新文件", priority = )]
- static void CreateNewFile(){
- File.WriteAllText (GetSelectFile () + "/UI_" + GetSelectObject () + ".lua", "xxx文本内容xxx", Encoding.UTF8);
- AssetDatabase.Refresh ();
- }
- [MenuItem("GameObject/创建文件夹", priority = )]
- static void CreateFolder(){
- Directory.CreateDirectory(Application.dataPath + "/文件夹名称");
- AssetDatabase.Refresh ();
- }
- }
放Editor文件下
editor修改prefab https://cnblogs.com/klkucan/p/4934518.html
-10-23新增
- [MenuItem("GameObject/获取用户名和当前时间", priority = )]
- static void GetUserName(){
- string username = System.Environment.UserName;
- var time = System.DateTime.Now;
- Debug.Log (username);
- Debug.Log (time);
- }
- [MenuItem("GameObject/打印选择物体的子物体路径", priority = )]
- static void GetChildPath()
- {
- Transform _selectObject = Selection.gameObjects[].transform;
- GetChildObject (_selectObject, _selectObject.name);
- }
- static void GetChildObject(Transform trans, string path){
- for(int i = ; i < trans.childCount; i++){
- Transform child = trans.GetChild (i);
- string comPath = path + "_" + child.name;
- GetChildObject (child, comPath);
- }
- //输出条件:最末端物体 (自由更改)
- if(trans.childCount == ){
- Debug.Log (path);
- }
- }
打印 路径 和 名字
- static void CreateUI(){
- string[] guidArray = Selection.assetGUIDs;
- foreach (var item in guidArray)
- {
- //打印路径
- string selecetFloder = AssetDatabase.GUIDToAssetPath(item);
- Debug.Log(selecetFloder);
- //打印名字
- string selectName = Path.GetFileName(selecetFloder);
- Debug.Log(selectName);
- }
- }
遍历文件夹下的包括子文件夹的后缀带有xx文件
以lua为例
- [MenuItem("Assets/check",priority = )]
- static void CheckChinese()
- {
- string[] guidArray = Selection.assetGUIDs;
- foreach (var item in guidArray)
- {
- string selectFloder = AssetDatabase.GUIDToAssetPath(item);
- DirectoryInfo root = new DirectoryInfo(selectFloder);
- GetFloder(root);
- }
- }
- static void GetFloder(DirectoryInfo root)
- {
- GetFile(root);
- //查找子文件夹
- DirectoryInfo[] array = root.GetDirectories();
- //Debug.Log(root);
- foreach (DirectoryInfo item in array)
- {
- GetFloder(item);
- }
- }
- static void GetFile(DirectoryInfo root)
- {
- //DirectoryInfo root = new DirectoryInfo(path);
- FileInfo[] fileDic = root.GetFiles();
- foreach (var file in fileDic)
- {
- //sDebug.Log(file);
- if (file.FullName.EndsWith("lua"))
- {
- Debug.Log("-------------" + file.Name);
- }
- }
- }
- //获取指定类型资源的路径
string[] spritesPath =
AssetDatabase.FindAssets("t:Sprite", new string[] {Application.dataPath + "/Resources/Sprites/Cloud"});- --------------------------------2019-8-28------------------------------------
代码设置Animator的参数,animator 转 AnimatorController
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEditor;
- using Spine.Unity;
- using UnityEditor.Animations;
- /// <summary>
- /// 制作怪物预制体
- /// </summary>
- public class CreateMonsterPrefab {
- [MenuItem("GameObject/添加怪物Animator参数", priority = )]
- static void SetACPara()
- {
- Debug.Log("设置参数");
- GameObject _selectObject = Selection.gameObjects[];
- AnimatorController controller = _selectObject.GetComponent<Animator>().runtimeAnimatorController as AnimatorController;
- AddParameter(controller, "Die", AnimatorControllerParameterType.Bool);
- AddParameter(controller, "Move", AnimatorControllerParameterType.Bool);
- AddParameter(controller, "Hurt", AnimatorControllerParameterType.Bool);
- AddParameter(controller, "IsDead", AnimatorControllerParameterType.Bool);
- AddParameter(controller, "Speed", AnimatorControllerParameterType.Float);
- AddParameter(controller, "Vertigo", AnimatorControllerParameterType.Bool);
- AddParameter(controller, "Execute", AnimatorControllerParameterType.Bool);
- AddParameter(controller, "IsMoveModeEnable", AnimatorControllerParameterType.Bool);
- AddParameter(controller, "Frozen", AnimatorControllerParameterType.Bool);
- AddParameter(controller, "Warning", AnimatorControllerParameterType.Bool);
- AddParameter(controller, "IsWarning", AnimatorControllerParameterType.Trigger);
- AddParameter(controller, "IsAtk", AnimatorControllerParameterType.Bool);
- AddParameter(controller, "Attack", AnimatorControllerParameterType.Int);
- AddParameter(controller, "AtkType", AnimatorControllerParameterType.Int);
- AddParameter(controller, "MoveType", AnimatorControllerParameterType.Int);
- AddParameter(controller, "AttackType", AnimatorControllerParameterType.Int);
- Debug.Log("设置成功");
- }
- //添加
- static void AddParameter(AnimatorController controller, string name, AnimatorControllerParameterType _type)
- {
- if (!CheckParameters(controller, name))
- {
- controller.AddParameter(name, _type);
- }
- }
- //检查
- static bool CheckParameters(AnimatorController controller, string parName)
- {
- foreach (var item in controller.parameters)
- {
- if (item.name.Equals(parName))
- {
- return true;
- }
- }
- return false;
- }
- }
unity 工具开发基础的更多相关文章
- 【Unity】第6章 Unity脚本开发基础
分类:Unity.C#.VS2015 创建日期:2016-04-16 一.简介 游戏吸引人的地方在于它的可交互性.如果游戏没有交互,场景做得再美观和精致,也难以称其为游戏. 在Unity中,游戏交互通 ...
- Unity脚本开发基础 C#
1. MonoBehaviour 类 常用事件响应函数: 2. 访问游戏对象 (1) 通过名称来查找 (2) 通过标签来查找 上述函数比较费时,应避免在 Update 函数调用. 3. 访问组件 对于 ...
- unity工具开发
1.EditorWindow通过拖拽获取文件夹或者文件路径 #region 拖拽相关 Rect rect4 = EditorGUILayout.GetControlRect(); //将上面的框作为文 ...
- PHP开发工具PHP基础教程
PHP开发 工具PHP基础教程,以下是兄弟连PHP培训小编整理: PHP IDE PHP IDE也不少,主要从几个方面进行筛选: 跨平台(能够同时在windows,mac或者ubuntu上面运 ...
- C# Unity游戏开发——Excel中的数据是如何到游戏中的 (四)2018.4.3更新
本帖是延续的:C# Unity游戏开发--Excel中的数据是如何到游戏中的 (三) 最近项目不算太忙,终于有时间更新博客了.关于数据处理这个主题前面的(一)(二)(三)基本上算是一个完整的静态数据处 ...
- 1.2Linux下C语言开发基础(学习过程)
===============第二节 Linux下C语言开发基础=========== ********************** 重要知识点总结梳理********************* 一 ...
- IOS开发基础知识碎片-导航
1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可 ...
- 从零3D基础入门XNA 4.0(1)——3D开发基础
[题外话] 最近要做一个3D动画演示的程序,由于比较熟悉C#语言,再加上XNA对模型的支持比较好,故选择了XNA平台.不过从网上找到很多XNA的入门文章,发现大都需要一些3D基础,而我之前并没有接触过 ...
- Android 开发基础及环境配置
2011年买了第一部安卓操作系统的手机,当时势头正盛的HTC不可思议(incredible),当时的想法就是想学习下智能手机开发,但是由于各种原因,客观上是公司的项目太忙了,忙于项目管理.团队建设.客 ...
随机推荐
- vim的基本使用
Vim 编辑器中设置了三种模式—命令模式.末行模式和编辑模式,每种模式分别又支持多种不同的命令快捷键,这大大提高了工作效率,而且用户在习惯之后也会觉得相当顺手.要想高效率地操作文本,就必须先搞清这三种 ...
- ResorceGovernor--基础和Demo
资源调控器分为三部分:1:资源池,将资源CPU/MEMORY划分到不同的载体上2:负载组,承载负载并将负载映射到不同的资源池3: 分类函数,将不同回话映射到不同的负载组08提供两种预定义的系统资源池1 ...
- 疑难杂症--已停止运行DBCC造成阻塞
场景数据库因非法断电导致出现分配页上不一致,运行完DBCC CHECKDB后出现以下错误: 表错误: 表 't_pc_id' (ID 277576027).数据行在索引 'last_login_dat ...
- uwsgi启动提示:probably another instance of uWSGI is running on the same address (:8002). bind(): Address already in use [core/socket.c line 769]
提示8002端口被占用,可以这样终止掉后再启动 sudo fuser -k 8002/tcp
- 使用PHPstudy在Windows服务器下部署PHP系统
PHP网站一般运行在Apache服务器上,IIS服务器上也可以运行,但是不推荐,windows服务器上没有集成Apache跟PHP的运行环境,但是借助第三方的软件就能很好的搞定,一般这样的软件有很多, ...
- html5 表格标签 table tr td
最重要的三个 <table> 表格声明标签 属性: boarder 边框粗细 style 可配合css 使用 <tr> 行标签 table row ...
- linux命令之系统管理命令(下)
1.chkconfig:管理开机服务 该命令为linux系统中的系统服务管理工具,可以查询和更新不同的运行等级下系统服务的启动状态. 选项 说明 --list(常用) 显示不同运行级别下服务的启动状态 ...
- 对Java意义重大的7个性能指标
本文中,小编搜集了7个最有影响的衡量标注,让你可以不依赖日志文件来了解应用程序现在,让我们看看这些性能指标,并了解如何查看并收集它们.: 一,响应时间和吞吐量 根据应用程序的响应时间可以知道程序完 ...
- 缺少libtool依赖导致编译安装失败
今天安装一个测试数据库的过程中,编译安装rlwrap工具时出错. 如下. [root@DB1 rlwrap-0.37]# ./configure checking build system type. ...
- KVM 安装 VMware 虚拟机
去掉了“双引号”改为:vmx.allowNested = TRUE 打开在其中创建虚拟机的文件夹VMDISK和搜索与您的虚拟机的名称. vmx 文件. 用记事本打开它,并添加上述条目. 所以 vmx. ...