protected override FieldInfo RenderInfo(FieldInfo info, Rect rect, int index) { Rect infoRect = new Rect(rect); infoRect.width = 20; // Align icon on the center. infoRect.x--; infoRect.y--; Rect enumRect = new Rect(rect); enumRect.x = infoRect.xMax; enumRect.width = rect.width / 3 - infoRect.width; Rect textRect = new Rect(rect); textRect.x = enumRect.xMax; textRect.width = rect.width - enumRect.width - infoRect.width; if (DefaultMessages.IsSceneField(info)) { EditorGUI.LabelField(infoRect, m_SceneFieldInfo); } else if (DefaultMessages.IsLoadingStateField(info)) { EditorGUI.LabelField(infoRect, m_LoadingFieldInfo); } Selection selection = RenderEnumSelection(enumRect, info.enumTypeIndex); info.enumTypeIndex = selection.id; info.enumType = selection.name; info.name = EditorGUI.TextField(textRect, info.name); return(info); }
protected override FieldInfo RenderInfo(FieldInfo info, Rect rect, int index) { Rect infoRect = new Rect(rect); infoRect.width = 20; // Align icon on the center. infoRect.x--; infoRect.y--; Rect enumRect = new Rect(rect); enumRect.x = infoRect.xMax; enumRect.width = rect.width / 3 - infoRect.width; Rect textRect = new Rect(rect); textRect.x = enumRect.xMax; textRect.width = rect.width - enumRect.width - infoRect.width; if (DefaultMessages.IsSceneField(info)) { EditorGUI.LabelField(infoRect, m_SceneFieldInfo); } else if (DefaultMessages.IsLoadingStateField(info)) { EditorGUI.LabelField(infoRect, m_LoadingFieldInfo); } Selection selection = RenderEnumSelection(enumRect, info.enumTypeIndex); info.enumTypeIndex = selection.id; info.enumType = selection.name; string input = EditorGUI.TextField(textRect, info.name); // String should contain only a-z, A-Z, numbers and '_' symbols. info.name = Regex.Replace(input, "[^a-zA-Z0-9_]", ""); return(info); }