• 【学步者日记】UnityEditor扩展菜单以及ScriptableObject


    下面是预览的部分,带图的版本请看上面链接。
     
     
     
    1. using UnityEditor 会导致编译时出错
     
    在Unity Editor中生成Assemble-CSharp.dll时,由于没有UnityEditor.dll的引用,会引起脚本的编译错误。Build生成Assembly-CSharp.dll的时候,不会添加UnityEditor.dll的引用这件事请记住。如果不知道的话,有可能就找不到“突然Build就无法通过了”的原因。 --------------------- 本文来自 xdestiny110 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/xdestiny110/article/details/79372530?utm_source=copy
     
    1. Editor文件夹的位置无特别限制,可以同时生成多个
    Editor文件夹的位置并没有特别的限制,同时生成多个也是可以的。 
    - Assets/Editor 
    - Assets/MyFolder/Scripts/Editor 
    - Assets/Standard Assets/Editor 
     
    1. 使用#if UNITY_EDITOR使编译时去除某些代码
    在Runtime时需要执行的脚本有时候会包含Editor API。 这个场合下需要使用#define。UnityEditor上已经有UNITY_EDITOR的宏定义。Build的时候,脚本编译是没有UNITY_EDITOR的定义的。因此#if UNITY_EDITOR中包含的代码将会被去除。 --------------------- 本文来自 xdestiny110 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/xdestiny110/article/details/79372530?utm_source=copy
     
     
    1. 细节面板中的范围
     
    1. Multiline和TextArea
     
    Textfile默认情况下是只有一行的,但同时也能变成复数行显示的TextAreaMultilineTextArea功能大致上相同,不过Multiline有着[无法依据宽度自动换行]和[不能使用scroll表示]的限制
     
    1. ContextMenuItem追加右键方法
    能够对在Inspector上表示的变量追加Context Menu。另外,在Component中虽然有对整体进行reset的功能,但没有对于单个变量进行reset的功能。因此,这时候就需要使用ContextMenuItem添加这个功能 
     
     
    1. 对Color使用颜色拾取器ColorUsage
     
    1. AddComponentMenu 该组件的添加菜单的位置
    将该组件添加到菜单->AddComponent->MyUI->TweenColor中;
     
    1. ExecuteInEditMode 在编辑器模式中运行
    在双击加载场景时调用awake,同时会在编辑器模式中调用update、OnGUI。
     
    1. ContextMenu 该函数在组件菜单中显示
    组件右键菜单,执行某函数。
     
     
    1. SelectionBase 该组件会优先被选择
    当鼠标点击某物体树时,会选中该物体树中的某个物体(由Unity决定)(效果A),但当该物体树中有该属性的组件时,会自动选择该物体,如果再次点击鼠标,则回到效果A。
     
     
    1. EditorPref 编辑器数据持久化
    保存的内容是PC里共享的,不被Unity项目所限制,适合用于编辑器里共享值的情况。保存编辑器窗口的大小、UnityEditor的环境设置等,
    EditorPref会依据主要版本进行保存。特别是Windows会将值保存在注册表里面。因此如果这个过程不小心进行了错误的设置,最糟糕的情况下有可能导致windows无法启动。请特别注意。
    在哪里保存,在OnEnable/Init/Awake等而不要在OnGUI和Update中。
     
    1. ScriptableObject 脚本化对象 自定义资产
    需要声明CreateAssetMenu
    对应的代码也贴出来了。从脚本中读取ScriptableObject的方法如下:
    var exampleAsset =     AssetDatabase.LoadAssetAtPath<ExampleAsset> ("Assets/Editor/ExampleAsset.asset"); --------------------- 本文来自 xdestiny110 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/xdestiny110/article/details/79678922?utm_source=copy
     
  • 相关阅读:
    [可能没有默认的字体]Warning: imagettfbbox() [function.imagettfbbox]: Invalid font filename...
    <yii 框架学习> yii 框架改为中文提示
    Yii 语言设置 中文提示信息
    yii新手在实例化models(controller调用models实化化)php warning错误
    yii CFormModel中的rules验证机制
    神舟优雅系列和神舟精盾系列哪个好?
    response.sendRedirect跳转 jsp:forward跳转
    jsp post/get中接处理
    jsp动作之 forward
    JDK eclipse selenium的安装以及环境变量的配置
  • 原文地址:https://www.cnblogs.com/JackSamuel/p/9705828.html
Copyright © 2020-2023  润新知