zoukankan      html  css  js  c++  java
  • unity编辑器Hierarchy添加图标

    效果

    素材

    using UnityEditor;
    using UnityEngine;
    using System.Collections.Generic;
    
    [InitializeOnLoad]
    class MyHierarchyIcon
    {
        static Texture2D texture;
        static List<int> markedObjects;
    
        //静态构造
        static MyHierarchyIcon()
        {
            //需要自己准备一张图放到如下路径  Assets/Images/Testicon.png
            texture = AssetDatabase.LoadAssetAtPath("Assets/Images/Testicon.png", typeof(Texture2D)) as Texture2D;
            EditorApplication.update += UpdateCB;
            EditorApplication.hierarchyWindowItemOnGUI += HierarchyItemCB;
        }
    
        static void UpdateCB()
        {
            // Check here
            GameObject[] go = Object.FindObjectsOfType(typeof(GameObject)) as GameObject[];
    
            markedObjects = new List<int>();
            foreach (GameObject g in go)
            {
                // Example: mark all lights  判断放图标的条件,比如有灯关组件
                if (g.GetComponent<Light>() != null)
                    markedObjects.Add(g.GetInstanceID());
            }
    
        }
    
        static void HierarchyItemCB(int instanceID, Rect selectionRect)
        {
            // place the icoon to the right of the list:
            Rect r = new Rect(selectionRect);
            r.x = r.width - 10;//图片位置
            r.width = 16;//图片宽度
    
            if (markedObjects.Contains(instanceID))
            {
                // Draw the texture if it's a light (e.g.)
                GUI.Label(r, texture);
            }
        }
    
    }
  • 相关阅读:
    Git

    学而不记则徒劳无功
    Redis基础
    哈希表
    第一个Python程序
    Python 环境搭建 基于 Windows
    执行数据库的插入操作 insert
    Eclipse连接到My sql数据库的操作总结/配置数据库驱动
    数据库 (一)
  • 原文地址:https://www.cnblogs.com/sanyejun/p/11271783.html
Copyright © 2011-2022 走看看