/// <summary> /// 读取贴图的设置 /// </summary> public void ReadTextureSettings() { mTextureSettings.Clear(); string configPath = LocalTextureFilePath; if (File.Exists(configPath)) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(File.ReadAllText(configPath)); XmlNode rootEle = xmlDoc.SelectSingleNode("TextureConfigs"); foreach (XmlNode childNode in rootEle.ChildNodes) { XmlElement childEle = childNode as XmlElement; if (childEle == null) { continue; } TextureSettingBean msb = new TextureSettingBean(); msb.Read(childEle); mTextureSettings.Add(msb); } } }
public void OnGUI() { if (settings == null) { this.Initizalize(); } NGUIEditorTools.DrawHeader("贴图查询设置"); using (new EditorGUILayout.HorizontalScope()) { GUILayout.FlexibleSpace(); if (GUILayout.Button("清空", GUILayout.Width(80))) { if (File.Exists(OverviewSetting.LocalTextureFilePath)) { File.Delete(OverviewSetting.LocalTextureFilePath); } OverviewSetting.LocalTextureFilePath = ""; } if (GUILayout.Button("加载", GUILayout.Width(80))) { string filePath = EditorUtility.OpenFilePanel("打开", Application.dataPath, "xml"); OverviewSetting.LocalTextureFilePath = filePath.Replace(Application.dataPath, "Assets"); OverviewSetting.Instance.ReadTextureSettings(); this.Initizalize(); } GUILayout.Space(10); } GUILayout.Space(5); NGUIEditorTools.DrawSeparator(); if (settings != null) { scrollPos = GUILayout.BeginScrollView(scrollPos); for (int i = 0; i < settings.Count; i++) { GUILayout.Space(5); drawSetting(settings[i]); NGUIEditorTools.DrawSeparator(); } if (removeSettings.Count > 0) { for (int i = 0; i < removeSettings.Count; i++) { settings.Remove(removeSettings[i]); } removeSettings.Clear(); } GUILayout.EndScrollView(); } GUILayout.BeginHorizontal(); if (GUILayout.Button("保存")) { if (string.IsNullOrEmpty(OverviewSetting.LocalTextureFilePath)) { string filePath = EditorUtility.SaveFilePanel("保存", Application.dataPath, "new file", "xml"); OverviewSetting.LocalTextureFilePath = filePath.Replace(Application.dataPath, "Assets"); } this.saveSettingRule(OverviewSetting.LocalTextureFilePath); AssetDatabase.Refresh(); Debug.Log("Save Success !"); } GUILayout.Space(10); if (GUILayout.Button("添加规则")) { TextureSettingBean msb = new TextureSettingBean(); msb.Folder.Add(string.Empty); settings.Add(msb); } GUILayout.EndHorizontal(); }
private void drawSetting(TextureSettingBean modelSetting) { GUILayout.BeginVertical(); { bool isFoldOut = true; GUILayout.BeginHorizontal(); if (isFolderOut.ContainsKey(modelSetting)) { isFoldOut = isFolderOut[modelSetting]; } isFolderOut[modelSetting] = EditorGUILayout.Foldout(isFoldOut, modelSetting.AssetDesc); GUILayout.FlexibleSpace(); if (GUILayout.Button("X", GUILayout.Width(30))) { removeSettings.Add(modelSetting); } GUILayout.EndHorizontal(); if (isFoldOut) { GUILayout.BeginHorizontal(); GUILayout.Space(30); GUILayout.Label("文件类型描述", GUILayout.Width(100F)); modelSetting.AssetDesc = GUILayout.TextField(modelSetting.AssetDesc); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Space(30); if (GUILayout.Button("文件目录", GUILayout.Width(100F))) { modelSetting.Folder.Add(string.Empty); } GUILayout.BeginVertical(); for (int i = modelSetting.Folder.Count - 1; i >= 0; i--) { GUILayout.BeginHorizontal(); GUILayout.TextField(modelSetting.Folder[i]); if (GUILayout.Button("...", GUILayout.Width(30f))) { string path = EditorUtility.OpenFolderPanel("选择文件夹", Application.dataPath, ""); modelSetting.Folder[i] = path.Replace(Application.dataPath, "Assets"); } if (GUILayout.Button("X", GUILayout.Width(30f))) { modelSetting.Folder.RemoveAt(i); } GUILayout.EndHorizontal(); } GUILayout.EndVertical(); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Space(30); GUILayout.Label("MipMaps", GUILayout.Width(100F)); modelSetting.MipMaps = GUILayout.Toggle(modelSetting.MipMaps, "开启"); } GUILayout.EndHorizontal(); } } GUILayout.EndVertical(); }