【发布时间】:2019-01-07 19:57:57
【问题描述】:
我正在尝试解决一个非常特殊的问题,可能你们中的某个人有类似的问题,我将从 Unity 的包管理器中扩展 TextMeshProUGUI 类,只是为了添加一个简单的字符串额外属性用于本地化,称为 m_key 供那些将使用它的人使用GameObject 只需将本地化字符串的键放在编辑器上并检查它与带有本地化字符串的 TMPro 文本的外观,好的,我将所有自定义 TextMeshPro 编辑器复制到一个新的编辑器类中,仅用于显示本地化文本在统一编辑器中使用 OnInspectorGUI 函数的下一个代码:
m_key = EditorGUILayout.TextField(new GUIContent("LOCALIZED KEY:"), localized_key.stringValue, GUILayout.Height(18), GUILayout.ExpandWidth(true));
localized_key.stringValue = m_key;
text_prop.stringValue = LanguageWizard.GetGameText(localized_key.stringValue);
其中 m_key 它只是编辑器类中的一个字符串变量,localized_key 来自扩展类的属性 m_key,此时实际上运行良好,但问题是在 Unity 编辑器中尝试停用游戏对象或其父级,父级隐藏,TMPro 隐藏,但文本属性在编辑器中仍然可见,而正常的编辑器行为隐藏,可能是我对 TMPro 的自定义编辑器有点混乱,但如果有人经历过这些,请帮助。
【问题讨论】:
-
OnInspectorGUI实际上与Gizmos无关... -
是的,编辑过的兄弟
-
像这样扩展统一组件(即添加自定义检查器)会做一些奇怪的事情。当我在 2-3 年前这样做时,它会转储一个不影响控制台可用性的错误,我只需要忽略它。
标签: unity3d