//显示所有模板 public void ShowAllTemple_GUI() { if (Selection.GetFiltered(typeof(GameObject), SelectionMode.DeepAssets).Length > 0) { go_SelectedNode = Selection.GetFiltered(typeof(GameObject), SelectionMode.DeepAssets)[0] as GameObject; } else { go_SelectedNode = null; } EditorGUI.indentLevel = 1; b_isFoldUseTemple = EditorGUILayout.Foldout((b_isFoldUseTemple), "模板列表:"); if (b_isFoldUseTemple) { scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.ExpandHeight(false)); string[] allTemplateName = UITemplateConfigManager.GetUIStyleList(); for (int i = 0; i < allTemplateName.Length; i++) { EditorGUI.indentLevel = 2; bool b_isFoldTmp = EditorGUILayout.Foldout(GetListIsFold(i), allTemplateName[i] + ":"); SetListIsFold(i, b_isFoldTmp); if (GetListIsFold(i)) { SingleTemplateInfo(allTemplateName[i]); } } EditorGUILayout.EndScrollView(); EditorGUILayout.Space(); } }
public void ApplyAllUITemplate() { allTemplateName = UITemplateConfigManager.GetUIStyleList(); foreach (var oneTemplateName in allTemplateName) { ApplyOneTemplate(oneTemplateName); } }
//删除模板(包括数据) void DeleteTemlate(string l_TemplateName) { UITemplateConfigManager.DestroyData(l_TemplateName); GameObject.DestroyImmediate(FindPrefabInTemplateRes(l_TemplateName), true); Debug.Log(Application.dataPath + "/../" + c_TemplateResPath + l_TemplateName + ".prefab"); File.Delete(Application.dataPath + "/../" + c_TemplateResPath + l_TemplateName + ".prefab"); File.Delete(Application.dataPath + "/../" + c_TemplateResPath + l_TemplateName + ".prefab.meta"); }
//保存模板 void SaveTemplate(string l_templateName) { GameObject saveprefab = GetSavePerfab(go_UITemplate); pre_UITemplate = PrefabUtility.CreatePrefab(c_TemplateResPath + l_templateName + ".prefab", saveprefab, ReplacePrefabOptions.ConnectToPrefab); UITemplateConfigManager.AddData(l_templateName); //PrefabUtility.ConnectGameObjectToPrefab(go_UITemplate, pre_UITemplate); GameObject.DestroyImmediate(saveprefab); }
//该模板是否已经存在 bool HaveTheTemlate(string name) { return(UITemplateConfigManager.HaveTheTemplate(name)); }