zoukankan      html  css  js  c++  java
  • 反射与特性与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");
        }
    }
    

  • 相关阅读:
    Pipe
    An Easy Problem?!
    Kadj Squares
    Space Ant
    Intersection
    让网页变为可编辑状态
    typescript入门基础
    大家都能看懂的 canvas基础教程
    数组的foreach方法和jQuery中的each方法
    html单行、多行文本溢出隐藏
  • 原文地址:https://www.cnblogs.com/white-L/p/6483876.html
Copyright © 2011-2022 走看看