zoukankan      html  css  js  c++  java
  • Unity Inspector 绘制备注信息 多语言辅助

    属性

    using System;
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    [AttributeUsage(AttributeTargets.Field, Inherited = true)]
    public class LanguageLabelAttribute : PropertyAttribute {
    }

    绘制

    using System.Collections;
    using System.Collections.Generic;
    using UnityEditor;
    using UnityEngine;
    
    [CustomPropertyDrawer(typeof(LanguageLabelAttribute))]
    public class LanguageLabelPropertyDrawer : PropertyDrawer {
        private static readonly string errorLanguageKeyTips = "语言表 Key 不存在";
    
        public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) {
            var key = property.stringValue;
    
            //var content = !LanguageConfig.Has(key) ? errorLanguageKeyTips : Language.Get(key);
            var content = "哈哈哈";
    
            var propertyWidth = position.width / 4 * 3;
            var singleWidth = position.width / 4;
    
            EditorGUI.BeginProperty(position, label, property);
            var rect = new Rect(position.x, position.y, propertyWidth, position.height);
            EditorGUI.PropertyField(rect, property);
            EditorGUI.EndProperty();
    
            rect = new Rect(rect.xMax, rect.y, singleWidth, rect.height);
            using (new EditorGUI.DisabledScope(true)) {
                EditorGUI.TextField(rect, content);
            }
        }
    }

    使用

        [LanguageLabelAttribute]
        public string str;

    效果

  • 相关阅读:
    Javascript内容整理——BOM
    前端实现excel报表,vue+luckysheet
    代码转图片 的一个好用网站
    推荐一个非常好用前端在线编辑器!!! 一点都不卡
    前端常用的一些网站
    vue中使用moment,如何按需打包?
    better-scroll
    时间线
    碎纸屑动画
    动画
  • 原文地址:https://www.cnblogs.com/sanyejun/p/14993709.html
Copyright © 2011-2022 走看看