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;

    效果

  • 相关阅读:
    for...else...
    js 代码运行中插入交互
    八皇后问题(python)
    多层for循环转递归/迭代
    迭代器/可迭代对象/生成器
    js,python,go 协程对比
    Promise精简总结
    PyQt常用组件用法总结
    PyQt5 接入 web 登录页
    C++求整型数组的和
  • 原文地址:https://www.cnblogs.com/sanyejun/p/14993709.html
Copyright © 2011-2022 走看看