Exemplo n.º 1
0
        private void LoadSizeRuleList()
        {
            this.sizeRuleList = new List <TextureImportMaxSizeChangeRule>();

            if (File.Exists(this.SizeRuleFilePath))
            {
                String[] lines = File.ReadAllLines(this.SizeRuleFilePath);
                if (lines != null)
                {
                    foreach (var line in lines)
                    {
                        string[] p = line.Split('\t');
                        if (p.Length < 3)
                        {
                            continue;
                        }
                        var rule = new TextureImportMaxSizeChangeRule(p[0], (TextureImportMaxSizeChangeRule.EParameterFormat)Int32.Parse(p[1]), Int32.Parse(p[2]));
                        this.sizeRuleList.Add(rule);
                    }
                }
            }
            if (sizeRuleList.Count == 0)
            {
                this.sizeRuleList.Add(new TextureImportMaxSizeChangeRule("**", TextureImportMaxSizeChangeRule.EParameterFormat.Pixel, 128));
            }
        }
Exemplo n.º 2
0
        private ERuleButtonAction OnGUISizeRule(TextureImportMaxSizeChangeRule sizeRule, bool isTop, bool isBottom)
        {
            ERuleButtonAction action = ERuleButtonAction.Nothing;

            EditorGUILayout.BeginHorizontal();
            if (isTop)
            {
                GUILayout.Label("", GUILayout.Width(20));
            }
            else
            {
                if (GUILayout.Button(LanguageData.GetString(ETags.UpperBtn), GUILayout.Width(20)))
                {
                    action = ERuleButtonAction.Upper;
                }
            }
            if (isBottom)
            {
                GUILayout.Label("", GUILayout.Width(20));
            }
            else
            {
                if (GUILayout.Button(LanguageData.GetString(ETags.DownerBtn), GUILayout.Width(20)))
                {
                    action = ERuleButtonAction.Downer;
                }
            }

            sizeRule.pathMatch = EditorGUILayout.TextField(sizeRule.pathMatch);
            int typeIdx = sizeRule.GetRulePopupIndex();

            typeIdx = EditorGUILayout.Popup(typeIdx, sizeRuleStrList, GUILayout.Width(120.0f));
            sizeRule.SetRulePopupIndex(typeIdx);

            if (sizeRule.parameterFormat == TextureImportMaxSizeChangeRule.EParameterFormat.Pixel)
            {
                int pixelIdx = sizeRule.GetMaxPixelPopupIndex();
                pixelIdx = EditorGUILayout.Popup(pixelIdx, TextureImportMaxSizeChangeRule.MaxPixelSizeList, GUILayout.Width(80.0f));
                sizeRule.SetMaxPixelPopupIndex(pixelIdx);
            }
            else
            {
                int divIdx = sizeRule.GetDivParamPopupIndex();
                divIdx = EditorGUILayout.Popup(divIdx, TextureImportMaxSizeChangeRule.DivParamSizeList, GUILayout.Width(80.0f));
                sizeRule.SetDivParamPopupIndex(divIdx);
            }
            if (GUILayout.Button(LanguageData.GetString(ETags.DeleteBtn), GUILayout.Width(50.0f)))
            {
                action = ERuleButtonAction.Delete;
            }
            EditorGUILayout.EndHorizontal();
            return(action);
        }
Exemplo n.º 3
0
        private void SwapSizeRule(List <TextureImportMaxSizeChangeRule> rules, int idx1, int idx2)
        {
            if (rules == null ||
                idx1 < 0 || idx2 < 0 ||
                idx1 >= rules.Count || idx2 >= rules.Count)
            {
                return;
            }
            TextureImportMaxSizeChangeRule tmp = rules[idx1];

            rules[idx1] = rules[idx2];
            rules[idx2] = tmp;
        }
Exemplo n.º 4
0
 private static int GetTextureSizeFromRule(TextureImporter importer, TextureImportMaxSizeChangeRule sizeRule)
 {
     if (sizeRule == null || sizeRule.parameter == 0)
     {
         return(1024);
     }
     if (sizeRule.parameterFormat == TextureImportMaxSizeChangeRule.EParameterFormat.Pixel)
     {
         return(sizeRule.parameter);
     }
     else
     {
         return(importer.maxTextureSize / sizeRule.parameter);
     }
 }