zoukankan      html  css  js  c++  java
  • unity插件开发

    1、简单的svn集成:

    查询svn的文档可以知道svn提供各种命令符操作。因此,原理非常简单,利用命令符操作调用svn即可。代码也非常简单:

    更新:Process.Start("TortoiseProc.exe", "/command:update /path:" + Application.dataPath + " /closeonend:0");

    提交:Process.Start("TortoiseProc.exe", "/command:commit /path:" + Application.dataPath + " /closeonend:0");

    好,我们写一个cs文件如下:

    public class SvnOperater : MonoBehaviour
    {
            [MenuItem("SVN/Update")]
            public static void Update()
            {
    #if UNITY_STANDALONE_WIN||UNITY_EDITOR
                Process.Start("TortoiseProc.exe""/command:update /path:" + Application.dataPath + " /closeonend:0");
    #endif
            }
     
            [MenuItem("SVN/Commit")]
            public static void Commit()
            {
    #if UNITY_STANDALONE_WIN||UNITY_EDITOR
                Process.Start("TortoiseProc.exe""/command:commit /path:" + Application.dataPath + " /closeonend:0");
    #endif
            }
     
    }
     
    2、Selection类

    Selection是一个静态类,它的主要功能是获取在project窗口中鼠标选择的对象或者是inspector窗口的当前显示的对象。它的字段有

    activeGameObject

    activeInstanceID

    activeObject

    activeTransform

    gameObjects

    instanceIDs

    objects

    transforms

    其中activeGameObject和activeTransform是inspector窗口的当前显示对象对应的GameObject和Transform。加入当前并非是一个GameObject,那么activeGameObject为空,activeTransform也是一样。activeInstanceID是选择文件在工程中的唯一ID,通过这个ID可以找到唯一对应的文件。objects是多选情况下得到的所有选择的物体,这些物体可以是各种类型,一般地,无法解析的物体,如文件夹,普通的文件,默认为Object类型。相比gameObjects,官方更加推荐使用transforms,它们的作用仅仅是对选择的所有物体做类型匹配的筛选,返回筛选之后的结果。

    在这些字段中,用得比较多的是activeObject,objects,因为是基类,所以我们可以做各种判定和处理。比如:

    var objs=Selection.objects;

    foreach(var obj in objs)

    {

        if(obj is GameObject)

            Debug.log(obj.name);

    }

    上面的代码就是遍历选择的所有物体,如果该物体为GameObject(Prefab也是GameObject),输出该物体的名称。

    另外,Selection提供Contains方法来判断选择的物体做是否包含了某个物体,也提供GetFiltered方法来做筛选。

     
  • 相关阅读:
    Unity Shader (三)Surface Shader机制
    Unity Shader (二)Cg语言
    Unity Shader (一)ShaderLab 语法
    Pytorch笔记 (3) 科学计算2
    两种方法实现斐波那契数列
    根据输入的整数n使得输出精确到小数n位
    算法竞赛入门 —— 循环结构 习题
    Pytorch笔记 (3) 科学计算1
    算法竞赛入门 (一)语言篇 循环结构
    C++编译错误提示 [Error] name lookup of 'i' changed for ISO '
  • 原文地址:https://www.cnblogs.com/quansir/p/6374927.html
Copyright © 2011-2022 走看看