コード例 #1
0
        void Convert()
        {
            foreach (var elem in this.elements)
            {
                switch (elem.convertTo)
                {
                case ConvertTo.OptimizedImage:
                    elem.image = OptimizedImageConverter.Convert <OptimizedImage>(elem.image);
                    break;

                case ConvertTo.OptimizedFilledImage:
                    elem.image = OptimizedImageConverter.Convert <OptimizedFilledImage>(elem.image);
                    break;

                case ConvertTo.OptimizedQuadPolyImage:
                    elem.image = OptimizedImageConverter.Convert <OptimizedQuadPolyImage>(elem.image);
                    break;


                case ConvertTo.OptimizedRectImage:
                    elem.image = OptimizedImageConverter.Convert <OptimizedRectImage>(elem.image);
                    break;

                case ConvertTo.Gauge:
                    elem.image = OptimizedImageConverter.Convert <Gauge>(elem.image);
                    break;

                case ConvertTo.OriginalImage:
                    elem.image = OptimizedImageConverter.Convert <Image>(elem.image);
                    break;
                }
            }
        }
コード例 #2
0
        void OnGUI()
        {
            if (GUILayout.Button("Clear"))
            {
                this.Clear();
            }

            if (GUILayout.Button("Find All"))
            {
                this.FindAll();
            }

            EditorGUILayout.BeginHorizontal();
            this.hierarchy.Value       = EditorGUILayout.Toggle("Hierarchy", this.hierarchy.Value);
            this.includeInactive.Value = EditorGUILayout.Toggle("Include Inactive", this.includeInactive.Value);
            this.imageOnly.Value       = EditorGUILayout.Toggle("Image Only", this.imageOnly.Value);
            EditorGUILayout.EndHorizontal();

            if (GUILayout.Button("Append Selected"))
            {
                this.AppendSelected(this.hierarchy.Value, this.includeInactive.Value);
            }

            this.scroll = EditorGUILayout.BeginScrollView(this.scroll);

            foreach (var elem in this.elements)
            {
                EditorGUILayout.BeginHorizontal();

                var image = elem.image;
                if (image)
                {
                    var path = OptimizedImageConverter.GetGameObjectPath(image.transform);
                    EditorGUILayout.LabelField(path);
                    EditorGUILayout.PrefixLabel(image.GetType().Name);
                    elem.convertTo = (ConvertTo)EditorGUILayout.EnumPopup(elem.convertTo);
                }
                else
                {
                    EditorGUILayout.HelpBox("Missing", MessageType.Warning);
                }

                EditorGUILayout.EndHorizontal();
            }

            EditorGUILayout.EndScrollView();

            if (GUILayout.Button("Convert"))
            {
                this.Convert();
            }
        }
コード例 #3
0
        public override void OnInspectorGUI()
        {
            if (GUILayout.Button("Revert To UnityEngine.UI.Image"))
            {
                foreach (var target in this.targets)
                {
                    OptimizedImageConverter.Convert <Image>(target as OptimizedImage);
                }
                return;
            }

            base.OnInspectorGUI();

            EditorGUI.showMixedValue = this.resizeAutomatically.hasMultipleDifferentValues;
            EditorGUI.BeginChangeCheck();
            var resizeAutomatically = EditorGUILayout.Toggle("Resize Automatically", this.resizeAutomatically.boolValue);

            EditorGUI.showMixedValue = false;
            if (EditorGUI.EndChangeCheck())
            {
                this.resizeAutomatically.boolValue = resizeAutomatically;
                this.sobj.ApplyModifiedProperties();
                this.sobj.Update();
            }

            EditorGUI.showMixedValue = this.overrideRendering.hasMultipleDifferentValues;
            EditorGUI.BeginChangeCheck();
            var overrideRendering = EditorGUILayout.Toggle("Override Rendering", this.overrideRendering.boolValue);

            EditorGUI.showMixedValue = false;
            if (EditorGUI.EndChangeCheck())
            {
                this.overrideRendering.boolValue = overrideRendering;
                this.sobj.ApplyModifiedProperties();
                this.sobj.Update();
            }

            if (!this.overrideRendering.boolValue)
            {
                return;
            }

            this.OnInspectorOptimizedImage();
        }