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);
            }
        }
    
    }
  • 相关阅读:
    物料主档的屏幕增强
    删除请求号(网上转载)
    Echarts X轴内容过长自动隐藏,鼠标移动上去显示全部名称方法
    mscms学习
    java 基础(泛型)
    java 基础(枚举类)
    java 基础(抽象类)
    java 基础(单例)
    android项目杂记
    Android Studio--学习系列(3)发版
  • 原文地址:https://www.cnblogs.com/sanyejun/p/11271783.html
Copyright © 2011-2022 走看看