internal static float GetHeight(SerializedProperty translatedDisplayNameProperty, GUIContent label = null)
        {
            float returnHeight = EditorUiUtility.GetHeight(label, 2, EditorUiUtility.VerticalMargin);

            if (translatedDisplayNameProperty != null)
            {
                returnHeight += EditorUiUtility.VerticalMargin;
                returnHeight += EditorGUI.GetPropertyHeight(translatedDisplayNameProperty);
            }
            return(returnHeight);
        }
        private float CalculateSupportedLangaugesListElementHeight(int index)
        {
            // Grab the relevant element
            SerializedProperty element = supportedLanguagesList.serializedProperty.GetArrayElementAtIndex(index);

            // Calculate base height
            float returnHeight = EditorUiUtility.GetHeight(null, 2, EditorUiUtility.VerticalMargin) + EditorUiUtility.VerticalMargin;

            // Grab the relevant list
            ReorderableList list = GetFontsList(element.FindPropertyRelative("fonts"));

            // Calculate list height
            returnHeight += list.GetHeight();
            returnHeight += EditorUiUtility.VerticalMargin;
            return(returnHeight);
        }
        public ChildBuildSettingReorderableList(Object target, SerializedProperty property, GUIContent label) : base(target, property, label)
        {
            // Setup List
            List.onAddDropdownCallback = DrawBuildSettingListDropdown;
            List.elementHeight         = EditorUiUtility.GetHeight(2, 4f);

            // Setup all Methods
            AllMethods = new BuildSettingCreator[]
            {
                #region Windows
                new BuildSettingCreator("Windows 64-bit", () => { CreateDesktopPlatformSettings <WindowsBuildSetting>("Windows 64-bit", IPlatformBuildSetting.Architecture.Build64Bit); }),
                new BuildSettingCreator("Windows 32-bit", () => { CreateDesktopPlatformSettings <WindowsBuildSetting>("Windows 32-bit", IPlatformBuildSetting.Architecture.Build32Bit); }),
                null,
                #endregion

                new BuildSettingCreator("Mac", () => { AddAndModify <MacBuildSetting>("Mac"); }),
                null,

                #region Linux
                new BuildSettingCreator("Linux Universal", () => { CreateDesktopPlatformSettings <LinuxBuildSetting>("Linux", IPlatformBuildSetting.Architecture.BuildUniversal); }),
                new BuildSettingCreator("Linux 64-bit", () => { CreateDesktopPlatformSettings <LinuxBuildSetting>("Linux 64-bit", IPlatformBuildSetting.Architecture.Build64Bit); }),
                new BuildSettingCreator("Linux 32-bit", () => { CreateDesktopPlatformSettings <LinuxBuildSetting>("Linux 32-bit", IPlatformBuildSetting.Architecture.Build32Bit); }),
                null,
                #endregion

                new BuildSettingCreator("WebGL", () => { CreateWebGLSettings(); }),
                null,

                // FIXME: add UWP support
                #region Mobile
                new BuildSettingCreator("iOS", () => { AddAndModify <IosBuildSetting>("iOS"); }),
                new BuildSettingCreator("Android", () => { AddAndModify <AndroidBuildSetting>("Android"); }),
                //new BuildSettingCreator("UWP", () => { AddAndModify<UwpBuildSetting>("UWP"); }),
                null,
                #endregion

                // FIXME: add Facebook support
                #region Facebook
                //new BuildSettingCreator("Facebook Gameroom, WebGL", () => { CreateWebGLSettings(); }),
                //new BuildSettingCreator("Facebook Gameroom, Windows 64-bit", () => { CreateDesktopPlatformSettings<WindowsBuildSetting>("Windows 64-bit", IPlatformBuildSetting.Architecture.Build64Bit); }),
                //new BuildSettingCreator("Facebook Gameroom,Windows 32-bit", () => { CreateDesktopPlatformSettings<WindowsBuildSetting>("Windows 32-bit", IPlatformBuildSetting.Architecture.Build32Bit); }),
                //null,
                #endregion

                new BuildSettingCreator("Group of Platforms", () => { AddAndModify <GroupBuildSetting>("Group"); }),
            };
        }
Example #4
0
        public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
        {
            float height = EditorGUIUtility.singleLineHeight;

            if (property.isExpanded == true)
            {
                // Grab every field
                SerializedProperty key        = property.FindPropertyRelative("key");
                SerializedProperty dictionary = property.FindPropertyRelative("dictionary");

                // Allocate key field
                height += EditorUiUtility.GetHeight(2);

                // Update status
                TranslationDictionary translationDictionary = dictionary.objectReferenceValue as TranslationDictionary;
                string translationKey = key.stringValue;
                Status status         = UpdateMessageStatus(translationDictionary, translationKey);

                // Check status
                if (string.IsNullOrEmpty(Message) == false)
                {
                    // Allocate help box
                    height += EditorUiUtility.VerticalMargin;
                    height += EditorUiUtility.GetHelpBoxHeight(Message, Width);
                }

                // Check button
                if (IsButtonDrawn(status) == true)
                {
                    // Allocate button
                    height += EditorUiUtility.VerticalMargin;
                    height += ButtonHeight;
                }

                // Check preview
                if (IsTextPreviewDrawn(status) == true)
                {
                    // Allocate preview
                    height += EditorUiUtility.VerticalSpace;
                    height += EditorGUIUtility.singleLineHeight;
                    height += TextPreview.CalculateHeight(null, !translationDictionary.IsAllTranslationsSerialized);
                }
            }
            return(height);
        }
 public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
 {
     return(EditorUiUtility.GetHeight(label, GetNumLinesToDraw(property, label), VerticalMargin));
 }
Example #6
0
 public HostArchiveSettingReorderableList(Object target, SerializedProperty property, GUIContent label) : base(target, property, label)
 {
     // Setup List
     List.onAddCallback = OnBuildSettingListAdd;
     List.elementHeight = EditorUiUtility.GetHeight(2, 4f);
 }