• 反射与特性与Tool编写


         大多数程序都是用来处理数据的,他们读,写,操作和显示数据,图形也是一种数据。

         程序员为某种目的创建和使用一些类型,因此,在设计时必须理解所使用类型的特性

         有关程序及其类型的数据被称为元数据,他们保存在程序的程序集中,程序在运行时,可以查看其它程序集或本身的元数据。查看的行为叫反射,比如Type类。

         特性是一种允许我们向程序集增加元数据的语言结构。他用于保存程序结构信息的某种特殊类型的类。特性的目的是告诉编译器把程序结构的某组元数据嵌入程序集。我们可以

    通过把特性应用到结构来实现。

          下面是Unity3d中应用特性的实例。

    public class PathTool : ScriptableObject {
    
    	[MenuItem("PathTool/Set Parent %q")]
        static void SetParent()
        {
            Debug.Log("Perform operation");
        }
        [MenuItem("PathTool/Set Parent %q", true)]
        static bool VallidateSelectiom()
        {
            if (Selection.activeGameObject == null)
                return false;
            else { return true; }
        }
    }
    

      

    在编辑器状态下执行的脚本必须反正Editor文件下。

    在非Editor文件下并把脚本放在别的对象上。

    public class GameManager : MonoBehaviour {
    
    	[ContextMenu("BuildPath")]
        void BuildPath()
        {
            Debug.Log("Perform Operation");
        }
    }
    

  • 相关阅读:
    学习笔记:松弛
    学习笔记:可持久化线段树
    poj 3784 Running Median
    学习笔记:树状数组
    poj 2823 Sliding Window 题解
    学习笔记:状态压缩DP
    学习笔记:单调队列
    C++ 竞赛常用头文件
    mongodb lock 出毛病时解决方法
    ag使用需要注意的问题
  • 原文地址:https://www.cnblogs.com/white-L/p/6483876.html
Copyright © 2020-2023  润新知