private static void LoadEditorConfig() { // load config var path = CocoDressEditorHelper.GetFullPath(CocoDressSettings.EditorConfigFilePath); m_EditConfigHolder = CocoData.LoadFromJsonFile <CocoDressEditorConfigHolder> (path); // fix default config FixEditorDefaultConfig(); UpdateAssetFullDirectory(); }
private void SaveEditorConfig() { if (m_EditConfigHolder == null) { return; } var path = CocoDressEditorHelper.GetFullPath(CocoDressSettings.EditorConfigFilePath); CocoData.SaveToJsonFile(m_EditConfigHolder, path, true); AssetDatabase.Refresh(); }
private CocoAssetConfigHolder GenerateAssetConfig() { // create asset config holder var fullPath = Path.Combine(_assetConfigFullDirectory, _editorConfigHolder.globalConfigFileName); var assetConfigHolder = new CocoAssetConfigHolder() { id = Path.GetFileNameWithoutExtension(_editorConfigHolder.globalConfigFileName), assetPath = GetRelativePath(fullPath) }; var allSceneDressItemIds = new Dictionary <string, Dictionary <string, HashSet <string> > > (); // create category holders var originAssetPath = Path.Combine(_rootFullDirectory, _editorConfigHolder.assetDirectory); originAssetPath = CocoDressEditorHelper.GetFullPath(originAssetPath); var categoryPaths = Directory.GetDirectories(originAssetPath); foreach (var path in categoryPaths) { Dictionary <string, HashSet <string> > sceneItemIds; var categoryHolder = GenerateCategory(path, out sceneItemIds); var categoryConfigHolder = GenerateCategoryConfig(categoryHolder); var tItemCount = 0; foreach (var item in sceneItemIds.Values) { tItemCount += item.Count; if (tItemCount > 0) { break; } } if (categoryHolder != null && tItemCount > 0) { assetConfigHolder.categoryConfigHolders.Add(categoryConfigHolder); CollectAllSceneDressItemIds(allSceneDressItemIds, sceneItemIds, categoryHolder.id); } } // create scene holders foreach (var kvpSceneDressItemIds in allSceneDressItemIds) { var sceneHolder = GenerateScene(kvpSceneDressItemIds.Key, kvpSceneDressItemIds.Value); var sceneConfigHolder = GenerateSceneConfig(sceneHolder); if (sceneConfigHolder != null) { assetConfigHolder.sceneConfigHolders.Add(sceneConfigHolder); } } // create role dress _editorConfigHolder.roleDressConfigHolders.ForEach(editorRoleDressConfigHolder => { var roleDressHolder = GenerateRoleDress(editorRoleDressConfigHolder, allSceneDressItemIds); if (roleDressHolder != null) { var roleDressConfigHolder = GenerateRoleDressConfig(roleDressHolder); if (roleDressConfigHolder != null) { assetConfigHolder.roleDressConfigHolders.Add(roleDressConfigHolder); } } }); // create role body _editorConfigHolder.roleBodyConfigHolders.ForEach(editorRoleBodyConfigHolder => { var roleBodyHolder = GenerateRoleBody(editorRoleBodyConfigHolder); if (roleBodyHolder != null) { var roleBodyConfigHolder = GenerateRoleBodyConfig(roleBodyHolder); if (roleBodyConfigHolder != null) { assetConfigHolder.roleBodyConfigHolders.Add(roleBodyConfigHolder); } } }); // create role _editorConfigHolder.roleConfigHolders.ForEach(editorRoleConfigHolder => { var roleHolder = GenerateRole(editorRoleConfigHolder); if (roleHolder != null) { var roleConfigHolder = GenerateRoleConfig(roleHolder); if (roleConfigHolder != null) { assetConfigHolder.roleConfigHolders.Add(roleConfigHolder); } } }); return(assetConfigHolder); }