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)); } }
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); }
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; }
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); } }